0

打开我的应用程序后,会有一个按钮打开第二个框架。所以我想告诉我的第二个框架根据一个列表来获取信息,该列表的值将由主框架附加到。
例如
在主框架中,有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)
4

1 回答 1

1

如果我理解正确,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您应该使用 a而不是使用wx.Dialog. 这是关于s的先前 SO 帖子wx.Dialog。该答案包含指向其他教程的链接,可帮助您入门。

于 2013-02-25T02:53:36.667 回答