Centos 7.4、Python 3.6.8和wxPython 4.1.0。
在运行上述代码时,会出现一个小部件,其中显示文本“Hello World”。然而,如果取消对该行的注释并运行代码,则会显示完全黑色的小部件。为什么这个 Freeze 调用会改变小部件的显示?Freeze 应该防止对小部件显示的任何更新。
依赖项:gtk3-devel、libXtst-devel、libtiff-devel、gcc gcc-c++、epel-release、libGLU-devel。
import wx
app = wx.App()
myFrame = wx.Frame(None, title="")
myPanel = wx.Panel(myFrame)
myStaticText = wx.StaticText(myPanel, label="Hello World")
mySizer = wx.BoxSizer(wx.VERTICAL)
mySizer.Add(myStaticText, wx.SizerFlags().Center())
myPanel.SetSizer(mySizer)
myFrame.Show()
#myFrame.Freeze()
app.MainLoop()
在运行上述代码时,会出现一个小部件,其中显示文本“Hello World”。然而,如果取消对该行的注释并运行代码,则会显示完全黑色的小部件。为什么这个 Freeze 调用会改变小部件的显示?Freeze 应该防止对小部件显示的任何更新。
依赖项:gtk3-devel、libXtst-devel、libtiff-devel、gcc gcc-c++、epel-release、libGLU-devel。
myFrame.Thaw()
的调用。 - IgorShow()
后面调用Freeze()
?你可以尝试反过来做... - Igor