📅  最后修改于: 2023-12-03 15:36:33.369000             🧑  作者: Mango
PySimpleGUI是一个基于Python的GUI框架,使创建GUI应用变得简单易用。在这个教程中,我们将介绍如何使用PySimpleGUI创建一个计算器。
PySimpleGUI可以直接通过pip进行安装:
pip install PySimpleGUI
我们将使用PySimpleGUI创建一个基本的计算器,支持加减乘除和清除操作。
首先,导入PySimpleGUI并定义一些常量:
import PySimpleGUI as sg
# 定义字体和颜色
FONT = ("Arial", 25)
BUTTON_COLOR = ("white", "#666666")
然后,我们定义计算器的布局。在这个例子中,我们使用了sg.Button
和sg.Input
来创建计算器的UI。
# 定义布局
layout = [
[sg.Input(size=(19, 1), font=FONT, key="-DISPLAY-")],
[sg.Button("1", font=FONT, button_color=BUTTON_COLOR), sg.Button("2", font=FONT, button_color=BUTTON_COLOR), sg.Button("3", font=FONT, button_color=BUTTON_COLOR), sg.Button("/", font=FONT, button_color=BUTTON_COLOR)],
[sg.Button("4", font=FONT, button_color=BUTTON_COLOR), sg.Button("5", font=FONT, button_color=BUTTON_COLOR), sg.Button("6", font=FONT, button_color=BUTTON_COLOR), sg.Button("*", font=FONT, button_color=BUTTON_COLOR)],
[sg.Button("7", font=FONT, button_color=BUTTON_COLOR), sg.Button("8", font=FONT, button_color=BUTTON_COLOR), sg.Button("9", font=FONT, button_color=BUTTON_COLOR), sg.Button("-", font=FONT, button_color=BUTTON_COLOR)],
[sg.Button("C", font=FONT, button_color=BUTTON_COLOR), sg.Button("0", font=FONT, button_color=BUTTON_COLOR), sg.Button("=", font=FONT, button_color=BUTTON_COLOR), sg.Button("+", font=FONT, button_color=BUTTON_COLOR)],
]
下一步是定义事件处理器。我们使用了一个while循环,直到用户关闭程序为止。通过sg.read
函数获取事件并作出响应。
# 创建窗口
window = sg.Window("Calculator", layout)
# 定义变量
operators = "+-*/"
current_input = ""
# 处理事件
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
elif event in operators:
current_input += values["-DISPLAY-"] + event
window["-DISPLAY-"].update(current_input)
elif event == "C":
current_input = ""
window["-DISPLAY-"].update("")
elif event == "=":
try:
result = eval(current_input)
window["-DISPLAY-"].update(result)
current_input = str(result)
except:
window["-DISPLAY-"].update("ERROR")
current_input = ""
else:
current_input += event
window["-DISPLAY-"].update(current_input)
# 关闭窗口
window.close()
在事件处理器中,我们通过sg.read
函数获取用户操作。如果用户点击任何数字或操作符按钮,我们将该值添加到current_input
字符串中,并更新显示。如果用户点击等号按钮,我们将调用eval
计算表达式。如果表达式无效,则显示错误消息。
现在我们已经创建了计算器的所有部分,现在可以运行代码,看看我们的计算器是否能工作了。在命令行中输入以下命令:
python calculator.py
通过这个教程,您已经学会了如何使用PySimpleGUI创建一个基本的计算器,展示了PySimpleGUI的简单易用性。