欢迎访问宙启技术站
智能推送

使用Python编写的GUI应用程序示例

发布时间:2023-12-04 10:07:03

以下是一个使用Python编写的GUI应用程序的示例,该示例是一个简单的计算器应用程序。

import tkinter as tk

# 创建主窗口
root = tk.Tk()
root.title("计算器")

# 创建显示器
display = tk.Entry(root, font=("Arial", 20))
display.grid(row=0, column=0, columnspan=4)

# 定义按钮点击事件
def button_click(event):
    text = event.widget.cget("text")  # 获取按钮上的文本
    if text == "=":
        try:
            result = eval(display.get())  # 使用eval函数计算表达式结果
            display.delete(0, tk.END)  # 清空显示器
            display.insert(tk.END, result)  # 将结果插入显示器
        except Exception as e:
            display.delete(0, tk.END)
            display.insert(tk.END, "错误")
    elif text == "C":
        display.delete(0, tk.END)
    else:
        display.insert(tk.END, text)

# 创建数字按钮
for i in range(10):
    btn = tk.Button(root, text=str(i), font=("Arial", 16))
    btn.grid(row=(9 - i // 3), column=(i % 3))
    btn.bind("<Button-1>", button_click)

# 创建操作符按钮
operators = ['+', '-', '*', '/']
for i, operator in enumerate(operators):
    btn = tk.Button(root, text=operator, font=("Arial", 16))
    btn.grid(row=i, column=3)
    btn.bind("<Button-1>", button_click)

# 创建等号和清除按钮
btn_equal = tk.Button(root, text="=", font=("Arial", 16))
btn_equal.grid(row=3, column=2)
btn_equal.bind("<Button-1>", button_click)

btn_clear = tk.Button(root, text="C", font=("Arial", 16))
btn_clear.grid(row=3, column=0)
btn_clear.bind("<Button-1>", button_click)

# 运行主循环
root.mainloop()

这个示例使用了tkinter模块创建了一个简单的计算器应用程序。应用程序包含一个显示器和数字、操作符、等号和清除按钮。当用户点击按钮时,按钮上的文本会显示在显示器上。点击等号按钮时,会计算显示器中的数学表达式并显示结果。

为了使应用程序能够响应按钮点击事件,我们创建了一个button_click函数来处理按钮点击事件。该函数首先获取按钮上的文本,如果是等号按钮,则使用eval函数计算显示器中的数学表达式的结果,并将结果插入到显示器中。如果是清除按钮,则清空显示器。否则,将按钮文本插入到显示器中。

最后,我们通过创建数字按钮、操作符按钮、等号按钮和清除按钮,并绑定button_click函数来实现按钮点击事件的响应。运行主循环后,应用程序进入事件循环,等待用户与应用程序进行交互。

使用该示例,您可以创建一个简单的计算器应用程序,并在学习GUI编程的过程中进行实践。您可以根据自己的需求修改和扩展该示例,添加更多的功能和界面元素。