Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
wxpython.如何仅使用一个函数在textctrl区域中显示按钮标签,并存储值以进行计算?_Wxpython - Fatal编程技术网

wxpython.如何仅使用一个函数在textctrl区域中显示按钮标签,并存储值以进行计算?

wxpython.如何仅使用一个函数在textctrl区域中显示按钮标签,并存储值以进行计算?,wxpython,Wxpython,我正在尝试使用wxpython制作一个计算器。我想在textctrl区域中显示按钮标签,并使用该值计算一些内容。我可以只使用一个函数吗?以及如何存储该值以使用它。例如,当我按7+8时,它将显示7+8,当我按“ans”时按钮,它会计算15。我试过一个程序。但它说- 以10为基数的int()的文本无效:“7+” 你可以采取几种方法。这两种方法中比较难的是为self.stext中的值创建解析器。不过,这也是最灵活的方法,具体取决于计算器的复杂程度。更简单的方法是使用Python的evalbuiltin

我正在尝试使用wxpython制作一个计算器。我想在textctrl区域中显示按钮标签,并使用该值计算一些内容。我可以只使用一个函数吗?以及如何存储该值以使用它。例如,当我按7+8时,它将显示7+8,当我按“ans”时按钮,它会计算15。我试过一个程序。但它说- 以10为基数的int()的文本无效:“7+”


你可以采取几种方法。这两种方法中比较难的是为
self.stext
中的值创建解析器。不过,这也是最灵活的方法,具体取决于计算器的复杂程度。更简单的方法是使用Python的
eval
builtin。有人说eval是危险的,因为它可以执行任意代码(这是真的),但是由于您将控制进入文本控件的内容,因此您应该能够防止任何不好的事情发生。如果使用eval,则可以执行以下操作:

answer = eval( self.stext.GetValue() )
有关更多信息,请参阅

answer = eval( self.stext.GetValue() )