我不知道何时何地使用 wx.App 和 PySimpleApp
像两个代码:
#!/usr/bin/env python
import wx
import wx.py.images as images
class ToolbarFrame(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id, 'Toolbars',
size=(300, 200))
panel = wx.Panel(self)
panel.SetBackgroundColour('White')
class App(wx.App):
def OnInit(self):
frame = ToolbarFrame(parent=None, id=-1)
frame.Show()
return True
if __name__ == '__main__':
app = App()
app.MainLoop()
和这段代码:
#!/usr/bin/env python
import wx
class ToolbarFrame(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id, 'Toolbars',
size=(300, 200))
panel = wx.Panel(self)
panel.SetBackgroundColour('White')
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = ToolbarFrame(parent=None, id=-1)
frame.Show()
app.MainLoop()
有什么区别吗? 另一个问题 other widget is at wx.Frame() or wx.App() like button.
最佳答案
现在这两个类之间几乎没有区别。
当 wxPython 项目启动时,wx.PySimpleApp
和 wx.App
有不同的行为(后者更底层并且没有默认 OnInit
方法定义,而 PySimpleApp
是可以实例化并用于完成工作的类)。此外,一些 wxPython 版本的 wx.App
类默认定义了 OnInit
,但默认情况下它没有调用 wx.InitAllImageHandlers
。
现在wx.PySimpleApp
留在API中主要是出于兼容性的原因,两个类之间没有区别。
关于python - 何时使用 wx.App 和 PySimpleApp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12028368/