我是python新手,不知道如何在对象之间传递数据。下面是一个使用python和wxwidgets的选项卡式程序。既然它们在不同的类中,我如何能够从GetText方法访问maintxt实例?在
谢谢。在
。。。。。。。。在
#!/usr/bin/env python
import wx
class PageText(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.maintxt = wx.TextCtrl(self, style=wx.TE_MULTILINE, pos=(0, 40), size=(850,320))
self.Show(True)
class PageList(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.bPutText = wx.Button(self, id=-1, label='Put Text', pos=(855, 40), size=(75, 30))
self.bPutText.Bind(wx.EVT_LEFT_DOWN, self.GetText)
def GetText(self, event):
# Write text into maintxt
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title="ADMIN")
p = wx.Panel(self)
nb = wx.Notebook(p)
vPageText = PageText(nb)
vPageList = PageList(nb)
nb.AddPage(vPageText, "Edit Text")
nb.AddPage(vPageList, "Book List")
sizer = wx.BoxSizer()
sizer.Add(nb, 1, wx.EXPAND)
p.SetSizer(sizer)
if __name__ == "__main__":
app = wx.App()
MainFrame().Show()
app.MainLoop()
听起来你可能是在把逻辑和陈述结合起来。你也许应该有一个模型类的网络来描述你的领域(页面)的行为然后将这些类的实例传递给表示类的初始值设定项,以便它们知道它们所代表的模型。在
有关此设计的详细信息:http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controller
相关问题 更多 >
编程相关推荐