wxpython 写了个界面 点击确定按钮时提示 toatlText未定义 请高手指点
时间:2011-10-23
来源:互联网
Python code
#!/usr/bin/env python # -*- coding: utf-8 -*- import wx import cash_system class TextFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self,None,-1,"商场收银系统",size=(220,300)) panel = wx.Panel(self,-1) basicLabel = \ wx.StaticText(panel,-1,"单价:",pos=(5,5),size=(50,-1),style=wx.EXPAND) basicText = wx.TextCtrl(panel,-1,pos=(60,30),size=(90,-1)) basicText.SetInsertionPoint(0) amountLabel = \ wx.StaticText(panel,-1,"数量:",pos=(5,5),size=(50,-1)) amountText = wx.TextCtrl(panel,-1,pos=(60,30),size=(90,-1)) confirmButton = wx.Button(panel,-1,"确定",pos=(120,30),size=(60,-1)) confirmButton.Bind(wx.EVT_BUTTON,self.totalFuc) resetButton = wx.Button(panel,-1,"重置",pos=(120,30),size=(60,-1)) calculateModeLabel = \ wx.StaticText(panel,-1,"计算方式:",pos=(5,70),size=(60,-1)) calculateModeList = ['9折','85折','8折','75折','7折'] wx.Choice(panel,-1,(80,70),choices=calculateModeList) multiText = \ wx.TextCtrl(panel,-1,pos=(5,100),size=(200,100),style=wx.TE_MULTILINE) multiText.SetInsertionPoint(0) totalLabel = wx.StaticText(panel,-1,"总计:",pos=(5,220),size=(60,-1)) toatlText = wx.TextCtrl(panel,-1,"0.0",pos=(70,220),size=(60,-1)) sizer = wx.FlexGridSizer(rows=3,cols=3,hgap=5,vgap=5) sizer.AddMany([basicLabel,basicText,confirmButton,amountLabel,amountText,resetButton]) panel.SetSizer(sizer) def totalFuc(self,event): toatlText.value = 900 if __name__ == '__main__': app = wx.PySimpleApp() frame = TextFrame() frame.Show() app.MainLoop()
作者: bolome 发布时间: 2011-10-23
这是变量作用域的问题
改成
Python code
Python code
改成
Python code
self.toatlText = wx.TextCtrl(panel,-1,"0.0",pos=(70,220),size=(60,-1))
Python code
self.toatlText.value = 900
作者: fox000002 发布时间: 2011-10-23
你在__init__里定义的是局部变量,要在实例中引用,需要这样定义:
self.toatlText = wx.TextCtrl(panel,-1,"0.0",pos=(70,220),size=(60,-1))
然后在别的方法中引用:
self.toatlText.value=...
self.toatlText = wx.TextCtrl(panel,-1,"0.0",pos=(70,220),size=(60,-1))
然后在别的方法中引用:
self.toatlText.value=...
作者: panzifei 发布时间: 2011-10-23
引用 1 楼 fox000002 的回复:
这是变量作用域的问题
改成
Python code
self.toatlText = wx.TextCtrl(panel,-1,"0.0",pos=(70,220),size=(60,-1))
Python code
self.toatlText.value = 900
这是变量作用域的问题
改成
Python code
self.toatlText = wx.TextCtrl(panel,-1,"0.0",pos=(70,220),size=(60,-1))
Python code
self.toatlText.value = 900
呵呵,楼上的比我早先一步
作者: panzifei 发布时间: 2011-10-23
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28