在两个wxpython选项卡之间共享变量

2024-05-29 11:55:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我问过这个问题,但它的表述不太清楚。在

persistence of objects in python

作为python和GUI编程的新手

我有一个包含许多python文件的大型项目。文件a.py定义了一个名为foobject的类,我正在使用python2.5

文件b.py和c.py具有名为BProject和CProject的类,它们的参数是foobject。这些是基于wx python的程序中的页面。在

我已经在b.py中包含了使用import-CProject(在c.py中定义的)。我在CProject中有一个列表,我使用wxpythongui填充它。接下来,我调用在BProject中定义的函数BRun,该函数在内部调用CProject中的CRun函数,即c.py中的CRun函数。在

在这个CRun中,我想操作列表,但是这个时候列表总是空的。为什么会这样?在

如果约束条件是我不能更改定义了fobject的a.py,我该怎么办?在

文件:c.py

def Instance(fObject):
    return test_page_CProject(fObject)


class CProject(object):

    def __init__(self, fObject):
        self.fObj = fObject
        self.IntList  =  []
        ##snip

    def  OnIntSelectBtnPress(self,parent):
        print ":self.IntList"
        print self.IntList
        self.listBoxIntSelect.InsertItems(self.IntList,0)
        print self.IntList

    def OnIntRun(self):
        IntLModeList = self.IntListIntMode
        #snip

文件b.py

^{pr2}$

什么时候CPython.OnIntRun被称为self.int列表当它不应该是空的时候


Tags: 文件函数pyself列表定义defsnip
2条回答

如果您的foobject维护对bProject和cProject的引用,您不能在foobject中编写一个send_to_c(msg)函数,您可以从bProject调用它(反之亦然)?在

我没有很好地理解这一点,但是通常在实例化类时需要传递数据。否则,可以使用PubSub在类之间传递信息,也可以创建一个简单的本地web服务器,每个选项卡都会定期检查新数据并进行自身更新。在

相关问题 更多 >

    热门问题