用python写一个基于wxPython的用户界面模拟计算程序,主要功能是能计算两数加法和减法,在界面内输入两数字,点击计算按钮,在界面内给出计算结果。
时间: 2024-02-22 18:00:17 浏览: 15
好的,我可以帮你解决这个问题。以下是一个简单的基于wxPython的用户界面模拟计算程序的示例代码:
```python
import wx
class Calculator(wx.Frame):
def __init__(self, parent, title):
super(Calculator, self).__init__(parent, title=title, size=(300, 200))
# 创建输入框
self.input1 = wx.TextCtrl(self)
self.input2 = wx.TextCtrl(self)
# 创建标签
wx.StaticText(self, label='请输入两个数字进行计算:', pos=(20, 20))
wx.StaticText(self, label='加法结果:', pos=(50, 70))
wx.StaticText(self, label='减法结果:', pos=(50, 110))
# 创建计算按钮
self.add_button = wx.Button(self, label='加法计算', pos=(50, 150))
self.sub_button = wx.Button(self, label='减法计算', pos=(150, 150))
# 绑定按钮事件
self.add_button.Bind(wx.EVT_BUTTON, self.on_add)
self.sub_button.Bind(wx.EVT_BUTTON, self.on_sub)
self.Centre()
self.Show()
def on_add(self, event):
try:
num1 = float(self.input1.GetValue())
num2 = float(self.input2.GetValue())
result = num1 + num2
wx.StaticText(self, label=str(result), pos=(120, 70))
except ValueError:
wx.StaticText(self, label='请输入数字!', pos=(120, 70))
def on_sub(self, event):
try:
num1 = float(self.input1.GetValue())
num2 = float(self.input2.GetValue())
result = num1 - num2
wx.StaticText(self, label=str(result), pos=(120, 110))
except ValueError:
wx.StaticText(self, label='请输入数字!', pos=(120, 110))
if __name__ == '__main__':
app = wx.App()
Calculator(None, title='计算器')
app.MainLoop()
```
在这个程序中,我们创建了一个名为Calculator的类,它继承了wx.Frame。在__init__方法中,我们创建了两个输入框、两个标签和两个按钮,并将它们放置在窗口中。在两个按钮的事件处理程序中,我们从输入框中获取用户输入的数字,并进行加法或减法运算。最后,我们在窗口中显示计算结果。
希望这个示例代码能够对你有所帮助!