如何从 wxPython 中的不同文件调用 wxFrame?

How to call a wxFrame from a different file in wxPython?

我正在尝试从另一个文件调用 wxFrame,这样我就不会在一个文件中包含一堆代码。我想将设置 window 放在一个单独的文件中,这样代码对我来说更容易阅读。这是我试图开始工作但没有显示的代码:

def test():
    import wx
    class oranges(wx.Frame):
        def __init__(self,parent,id):
            wx.Frame.__init__(self,parent,id, 'TEST',size=(500,500))
            self.frame=wx.Panel(self)


    if __name__ =='__main__':
        app = wx.App(False)
        window = oranges(parent=None,id=-1)
        window.Show()
        app.MainLoop()

我希望能够只导入文件并调用函数 test(),window 就会弹出。任何想法将不胜感激!

假设以上内容在文件orange.py中。删除或删除 if 部分。正如现在所写的那样,它什么都不做。

创建第二个文件main.py。您可以从其他文件复制 if 部分以启动 wx.App.

然后你必须导入框架并创建一个实例。

在文件 orange.py 中:

import wx
class oranges(wx.Frame):
    def __init__(self,parent,id):
        wx.Frame.__init__(self,parent,id, 'TEST',size=(500,500))
        self.frame=wx.Panel(self)

在文件 main.py 中:

import wx
from orange import oranges

if __name__ =='__main__':
    app = wx.App(False)
    window = oranges(parent=None,id=-1)
    window.Show()
    app.MainLoop()