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

时间:2015-04-21 01:54:01

标签: python wxpython

我正在尝试从不同的文件中调用wxFrame,因此我不会在一个文件中包含大量代码。我想让设置窗口在一个单独的文件中,以便代码更容易为我阅读。这是我试图开始工作但没有出现的代码:

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(),然后会弹出窗口。任何想法将不胜感激!

1 个答案:

答案 0 :(得分:2)

假设上述内容位于文件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()