找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1913|回复: 0

[求助] GUI下,请教text获取的字符串转换为浮点型数据怎么处理?

0

主题

0

帖子

0

积分

贫民

积分
0
gfdncs 发表于 2020-2-13 09:51:27 | 显示全部楼层 |阅读模式
我在学习GUI界面编程后,做一个简单的加法计算器,文本框接受输入的字符,但是不会转浮点型,试了很多种方法都没解决。请教如何转换。 加法事件在OnClickMath 函数处, 目前的计算结果是1+1=11,1+2=12,是字符串合并。



  1. 我在学习GUI界面编程后,做一个简单的加法计算器,文本框接受输入的字符,但是不会转浮点型,试了很多种方法都没解决。请教如何转换。 加法事件在OnClickMath 函数处, 目前的计算结果是1+1=11,1+2=12,是字符串合并。

  2. WeChat Screenshot_20200213093905.png

  3. import wx
  4. class MyFrame(wx.Frame):
  5.     def __init__(self,parent,id):
  6.         wx.Frame.__init__(self,parent,id,"计算器",size=(600,500))
  7.         panel=wx.Panel(self)

  8.         #创建一个标题
  9.         self.title=wx.StaticText(panel,label="加法计算器")
  10.         #创建第一个文本输入框
  11.         self.box1=wx.TextCtrl(panel,style=wx.TE_CENTER)
  12.         #创建一个加号
  13.         self.puls=wx.StaticText(panel,label="+")
  14.         #创建第二个文本输入框
  15.         self.box2=wx.TextCtrl(panel,style=wx.TE_CENTER)
  16.         #创建等号
  17.         self.equr=wx.StaticText(panel,label="=")
  18.         #创建结果框
  19.         self.box3=wx.TextCtrl(panel,style=wx.TE_CENTER)
  20.         #创建一个计算按钮
  21.         self.math=wx.Button(panel,label="计算")
  22.         self.math.Bind(wx.EVT_BUTTON,self.OnClickMath)
  23.         #创建一个清除按钮
  24.         self.clean=wx.Button(panel,label="清空")
  25.         self.clean.Bind(wx.EVT_BUTTON,self.OnClickClean)
  26.         #创建一个退出按钮
  27.         self.exit=wx.Button(panel,label="退出")
  28.         self.exit.Bind(wx.EVT_BUTTON,self.OnClickExit)

  29.         #创建容器
  30.         #第一横向盒
  31.         hsizer_math=wx.BoxSizer(wx.HORIZONTAL)
  32.         hsizer_math.Add(self.box1,proportion=0,flag=wx.ALL,border=5)
  33.         hsizer_math.Add(self.puls,proportion=1,flag=wx.ALL,border=5)
  34.         hsizer_math.Add(self.box2,proportion=2,flag=wx.ALL,border=5)
  35.         hsizer_math.Add(self.equr,proportion=3,flag=wx.ALL,border=5)
  36.         hsizer_math.Add(self.box3,proportion=4,flag=wx.ALL,border=5)
  37.         #第二横向盒
  38.         hsizer_click=wx.BoxSizer(wx.HORIZONTAL)
  39.         hsizer_click.Add(self.math,proportion=0,flag=wx.ALL,border=15)
  40.         hsizer_click.Add(self.clean,proportion=0,flag=wx.ALL,border=15)
  41.         hsizer_click.Add(self.exit,proportion=0,flag=wx.ALL,border=15)
  42.         #一个竖盒
  43.         vsizer=wx.BoxSizer(wx.VERTICAL)
  44.         vsizer.Add(self.title,proportion=0,flag=wx.BOTTOM|wx.TOP|wx.ALIGN_CENTER,border=15)
  45.         vsizer.Add(hsizer_math,proportion=0,flag=wx.ALL,border=45)
  46.         vsizer.Add(hsizer_click,proportion=0,flag=wx.ALL,border=65)
  47.         panel.SetSizer(vsizer)


  48.     #定义OnclickMath函数
  49. <font color="#ff0000">    def OnClickMath(self,event):
  50.         text1=self.box1.GetValue()
  51.         text2=self.box2.GetValue()
  52.         text3=text1+text2
  53.         self.box3.SetValue(text3)</font>
  54.     #定义OnclickMath函数
  55.     def OnClickClean(self,event):
  56.         self.box1.SetValue("")
  57.         self.box2.SetValue("")
  58.         self.box3.SetValue("")
  59.     #定义OnclickMath函数
  60.     def OnClickExit(self,event):
  61.         self.Close()

  62. if __name__ == "__main__":
  63.     app=wx.App()
  64.     frame=MyFrame(parent=None,id=-1)
  65.     frame.Show()
  66.     app.MainLoop()
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表