Wx Python-代码结构和事件处理
你好,
我刚刚开始使用wxpython开始写gui
使用TKINTER的限制.我已经阅读了有关wxpython和
考虑到我从后一个GUI开始,慢慢习惯了
首先!
我必须首先引用我是Python的新手用户,所以问题I
似乎很明显,但请对我耐心!
我注意到我用来创建我的所有wxpython参考
应用程序" CRAM"框架子类中的所有代码.这是
当您考虑小型应用程序时,很好,但是什么时候
成长为非常复杂的应用?这创造了我的第一个问题:
在哪里可以找到有关WXPYTHON代码练习的信息/
考虑复杂的较大GUI时的结构?
没有任何参考,我决定通过破坏我的owm方法
将我的框架中的顶层面板作为个体类对象.和
然后构建各个面板的小部件
课程.这导致了我的第二个问题,我该如何使用和事件
面板在其他面板中产生效果?例如,如果我有
一个面板中的按钮,希望更改标签的文本
其他面板,最好的方法是什么?我应该打破代码吗
转入模块?
当然,您可能会解释我接近这一点的方式
完全错了,如果是这样,请告诉我,我真的很想得到基本
在我开始使代码更复杂之前的结构.
我期待您的帮助
------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------ ----------------------------------------------------
我在下面列出了一些代码,以帮助解释我希望的概念
达到,
导入WX
类框架(wx.frame):
def __init __(自我):
wx.frame .__ init __(self,none,
title ="应用程序",size =(400,400))
panel1 = wx.panel(self,-1,size =(200,200))
panel2 = wx.panel(self,-1,size =(200,200))
sizer = wx.flexgridsizer(2,2,5,5)
sizer.Add(面板1)
sizer.Add(面板2)
self.SeterSizerAndFit(sizer)
util1 = utils1(panel1)
UTIL2 = UTILS2(PANEL2)
utils1()类:
def __init __(自我,面板):
按钮= wx.button(面板,-1,"按钮1")
panel.bind(wx.evt_button,self.onclick,按钮)
self.label = wx.statictext(面板,-1,"我的处理程序",
名称=" lab1")
sizer = wx.boxsizer(wx.vertical)
sizer.Add(按钮)
sizer.Add(self.label)
panel.setsizerAndfit(sizer)
def onClick(self,evt):
self.label.setlabel("你改变了我")
类Utils2()类:
def __init __(自我,面板):
self.button = wx.button(面板,-1,"按钮2")
panel.bind(wx.evt_button,self.onclick,self.button)
def onClick(self,evt):
"""什么是更改文本的最简单和接受的方法
在
一个不同的类实例?"""
经过
#???.setlabel("你改变了我")
app = wx.pysimpleapp()
帧=帧()
frame.show()
app.mainloop()