首页上一页 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()
购物车
发表新帖
立即签到







