首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

wxpython 写了个界面 点击确定按钮时提示 toatlText未定义 请

2012-02-19 
wxpython 写了个界面 点击确定按钮时提示 toatlText未定义 请高手指点Python code#!/usr/bin/env python#

wxpython 写了个界面 点击确定按钮时提示 toatlText未定义 请高手指点

Python code
#!/usr/bin/env python# -*- coding: utf-8 -*-import wximport cash_systemclass 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 = 900if __name__ == '__main__':    app = wx.PySimpleApp()    frame = TextFrame()    frame.Show()    app.MainLoop()


[解决办法]
这是变量作用域的问题

改成

Python code
self.toatlText = wx.TextCtrl(panel,-1,"0.0",pos=(70,220),size=(60,-1))
[解决办法]
这样:
self.toatlText.SetValue('900')

热点排行