wx.python如何将主框架列表的更新值更新到第二帧?

时间:2013-02-25 02:00:21

标签: python frame

打开我的应用程序后,会出现一个打开第二帧的按钮。所以我想告诉我的第二帧根据List获取信息,其值将被主框追加 例如
在主框架中,有self.pubID,在我执行操作后,我会在该列表中附加一个数字。之后,我打开第二帧,但它没有抓住我追加的值,意味着它无法从该列表中获取更新的信息。 感谢您的帮助。我知道我给出的代码看起来很糟糕,但是整个脚本可能很长并且很容易上传,所以我希望它能显示出来。

class MyFrame(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title)
        panel = wx.Panel(self, -1)

    def OnSelect(self, event):        
        item = event.GetSelection()
        del self.pubID[:]
        self.pubID.append(item)
    def onInsert(self, event):
            self.Lin = InLink("Insert")
            self.Lin.Show()
class InLink(wx.Frame):
    def __init__(self,title):
        wx.Frame.__init__(self, None, title=title, pos=(150,150), size=(200,200))    
        panel = wx.Panel(self)

1 个答案:

答案 0 :(得分:0)

如果我理解正确,InLink需要知道MyFrame.pubID内的内容。那么这个问题就是一个简单的解决方案:将它传递给你的构造函数。所以你的InLink.__init__()就变成了这个:

class InLink(wx.Frame):
    def __init__(self,title, pubID):
        #now you can easily get the value from pubID
        ...

但是,我认为你的代码中存在一些问题。我发布了一条评论,要求您更详细地解释您想要做什么。通过阅读您的问题,我您希望InLink返回MyFrame将使用的某些值。它是否正确?如果是这样,您应该使用wx.Frame而不是wx.Dialog。这是a previous SO post about wx.Dialogs。该答案包含指向其他教程的链接,以帮助您入门。