python - 何时使用 wx.App 和 PySimpleApp

标签 python wxpython

我不知道何时何地使用 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.PySimpleAppwx.App 有不同的行为(后者更底层并且没有默认 OnInit 方法定义,而 PySimpleApp 是可以实例化并用于完成工作的类)。此外,一些 wxPython 版本的 wx.App 类默认定义了 OnInit,但默认情况下它没有调用 wx.InitAllImageHandlers

现在wx.PySimpleApp留在API中主要是出于兼容性的原因,两个类之间没有区别。

关于python - 何时使用 wx.App 和 PySimpleApp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12028368/

相关文章:

python - 使用opencv和python的人脸检测精度

python - 分布式 tensorflow : Create a session in only one worker to print the results

python - 无法安装新的 wxpython

可视化 100k 顶点和 1M 边的 Python 工具?

python - 如何在wxpython中设置文本ctrl的样式?

python - 当值超过阈值时不同的标记颜色

python - AngularJS request.POST 返回 QueryDict : {}

python - 根据异常(exception)列表删除选择性连字符/标点符号

python - 操作系统错误 : [Errno 7] Argument list too long: 'php' - Python 3. 6

wxpython - 在 Ubuntu 12.04 上安装 wxPython