wxpython.如何仅使用一个函数在textctrl区域中显示按钮标签,并存储值以进行计算?
我正在尝试使用wxpython制作一个计算器。我想在textctrl区域中显示按钮标签,并使用该值计算一些内容。我可以只使用一个函数吗?以及如何存储该值以使用它。例如,当我按7+8时,它将显示7+8,当我按“ans”时按钮,它会计算15。我试过一个程序。但它说- 以10为基数的int()的文本无效:“7+”wxpython.如何仅使用一个函数在textctrl区域中显示按钮标签,并存储值以进行计算?,wxpython,Wxpython,我正在尝试使用wxpython制作一个计算器。我想在textctrl区域中显示按钮标签,并使用该值计算一些内容。我可以只使用一个函数吗?以及如何存储该值以使用它。例如,当我按7+8时,它将显示7+8,当我按“ans”时按钮,它会计算15。我试过一个程序。但它说- 以10为基数的int()的文本无效:“7+” 你可以采取几种方法。这两种方法中比较难的是为self.stext中的值创建解析器。不过,这也是最灵活的方法,具体取决于计算器的复杂程度。更简单的方法是使用Python的evalbuiltin
你可以采取几种方法。这两种方法中比较难的是为
self.stext
中的值创建解析器。不过,这也是最灵活的方法,具体取决于计算器的复杂程度。更简单的方法是使用Python的eval
builtin。有人说eval是危险的,因为它可以执行任意代码(这是真的),但是由于您将控制进入文本控件的内容,因此您应该能够防止任何不好的事情发生。如果使用eval,则可以执行以下操作:
answer = eval( self.stext.GetValue() )
有关更多信息,请参阅
answer = eval( self.stext.GetValue() )