第二个问题就变量传递,在python里有多种办法,孙伍最简单的就是用global 修饰一个变量,这样就可以在不同的线程,不同的模块间直接使用。具体使用办法,你看一下帮助。 需要孝旦在使用前用global 指定要全局化的变量
第三个问题。点击按钮触发事件。这样的事情,直接在按钮事件处理函数里处理就可以了。不用调用外部函数。没有理由,也则慎或没有必要。
如果你希望让系统容易阅读一些,就把GUI的构建代码,事件处理代码,数据描述代码,业务逻辑代码分别写在不同的模块里。这就是典型的MVC模型。
还有一个简单的办法。shownum这个函数的入口,加一个参数,将frame传递进去。这样shownum就可以直接访问frame类的所有内置公开变量。打印更不在话下。
最后附带说明一下, 你的函数命名,变量命名一定要有意思。不要再用“按钮1”, “按钮2”, output这样的命名。 你的shownum命名就不错。
问题出在事件的对象是按钮,不是frame,当然取不到。。。两个办法吧,第一个把你的mol_frame改成成运败做员变量,self.mol_frame第二个办法把mol_frame写成一旁衡个类枯穗,独立来调用。
大致思路是这样的:面板展开的原理是改变窗口的高度,然后在使得 “服务器”那个面板出现。改变高度使用 self.SetClientSize(wx.Size(a, b))语句,a代表宽度,b代表高度,你只要改变b的值就能控制窗口高度的变化。
“服务器”那个面板出现慎野和隐藏使用self.staticBox1.Show(False),False改成大亩True则该面板出现
示例代码如下:
def OnButton1Button(self, event):
self.SetClientSize(wx.Size(392, 193))
self.staticBox1.Show(False)
event.Skip()
这只是改变大小和可见性的示例,具体你在用到你的软件的时候要修改和添加你需要的东西。
面滚孝森板收起的原理也是一样的。
如何有不明白的可以再详细询问,希望对能帮到你!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)