我问过这个问题,但它的表述不太清楚。在
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列表当它不应该是空的时候
如果您的foobject维护对bProject和cProject的引用,您不能在foobject中编写一个
send_to_c(msg)
函数,您可以从bProject调用它(反之亦然)?在我没有很好地理解这一点,但是通常在实例化类时需要传递数据。否则,可以使用PubSub在类之间传递信息,也可以创建一个简单的本地web服务器,每个选项卡都会定期检查新数据并进行自身更新。在
相关问题 更多 >
编程相关推荐