首页上一页 1 下一页尾页 3 条记录 1/1页
GUI下,text获取的字符串转换为浮点型数据怎么处理?
发表在Python答疑区
2020-02-13
是否精华
是
否
版块置顶:
是
否
我在学习GUI界面编程后,做一个简单的加法计算器,文本框接受输入的字符,但是不会转浮点型,试了很多种方法都没解决。请教如何转换。 加法事件在OnClickMath 函数处, 目前的计算结果是1+1=11,1+2=12,是字符串合并。
import wx class MyFrame(wx.Frame): def __init__(self,parent,id): wx.Frame.__init__(self,parent,id,"计算器",size=(600,500)) panel=wx.Panel(self) #创建一个标题 self.title=wx.StaticText(panel,label="加法计算器") #创建第一个文本输入框 self.box1=wx.TextCtrl(panel,style=wx.TE_CENTER) #创建一个加号 self.puls=wx.StaticText(panel,label="+") #创建第二个文本输入框 self.box2=wx.TextCtrl(panel,style=wx.TE_CENTER) #创建等号 self.equr=wx.StaticText(panel,label="=") #创建结果框 self.box3=wx.TextCtrl(panel,style=wx.TE_CENTER) #创建一个计算按钮 self.math=wx.Button(panel,label="计算") self.math.Bind(wx.EVT_BUTTON,self.OnClickMath) #创建一个清除按钮 self.clean=wx.Button(panel,label="清空") self.clean.Bind(wx.EVT_BUTTON,self.OnClickClean) #创建一个退出按钮 self.exit=wx.Button(panel,label="退出") self.exit.Bind(wx.EVT_BUTTON,self.OnClickExit) #创建容器 #第一横向盒 hsizer_math=wx.BoxSizer(wx.HORIZONTAL) hsizer_math.Add(self.box1,proportion=0,flag=wx.ALL,border=5) hsizer_math.Add(self.puls,proportion=1,flag=wx.ALL,border=5) hsizer_math.Add(self.box2,proportion=2,flag=wx.ALL,border=5) hsizer_math.Add(self.equr,proportion=3,flag=wx.ALL,border=5) hsizer_math.Add(self.box3,proportion=4,flag=wx.ALL,border=5) #第二横向盒 hsizer_click=wx.BoxSizer(wx.HORIZONTAL) hsizer_click.Add(self.math,proportion=0,flag=wx.ALL,border=15) hsizer_click.Add(self.clean,proportion=0,flag=wx.ALL,border=15) hsizer_click.Add(self.exit,proportion=0,flag=wx.ALL,border=15) #一个竖盒 vsizer=wx.BoxSizer(wx.VERTICAL) vsizer.Add(self.title,proportion=0,flag=wx.BOTTOM|wx.TOP|wx.ALIGN_CENTER,border=15) vsizer.Add(hsizer_math,proportion=0,flag=wx.ALL,border=45) vsizer.Add(hsizer_click,proportion=0,flag=wx.ALL,border=65) panel.SetSizer(vsizer) #定义OnclickMath函数 def OnClickMath(self,event): text1=self.box1.GetValue() text2=self.box2.GetValue() text3=text1+text2 self.box3.SetValue(text3) #定义OnclickMath函数 def OnClickClean(self,event): self.box1.SetValue("") self.box2.SetValue("") self.box3.SetValue("") #定义OnclickMath函数 def OnClickExit(self,event): self.Close() if __name__ == "__main__": app=wx.App() frame=MyFrame(parent=None,id=-1) frame.Show() app.MainLoop()