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

PythonGUI编程:使用Tkinter库创建一个简单的计算器

发布时间:2023-12-04 22:18:34

Tkinter是一个Python库,用于创建图形用户界面(GUI)应用程序。它提供了许多组件和工具,可以帮助你构建各种GUI应用程序,包括计算器。

为了创建一个简单的计算器,我们需要使用Tkinter库中的一些组件,如Label、Button和Entry。Label用于显示标签,Button用于创建按钮,Entry用于接收用户输入和显示结果。

下面是一个使用Tkinter库创建简单计算器的示例代码:

import tkinter as tk

def button_click(num):
    current = entry.get()
    entry.delete(0, tk.END)
    entry.insert(tk.END, current + num)

def calculate():
    result = eval(entry.get())
    entry.delete(0, tk.END)
    entry.insert(tk.END, result)

def clear():
    entry.delete(0, tk.END)

# 创建主窗口
root = tk.Tk()
root.title("Calculator")

# 创建显示结果的输入框
entry = tk.Entry(root, width=20)
entry.grid(row=0, column=0, columnspan=3)

# 创建数字按钮
for i in range(9):
    button = tk.Button(root, text=str(i+1), command=lambda i=i: button_click(str(i+1)))
    button.grid(row=(i//3)+1, column=i%3)

# 创建运算符按钮
operators = ['+', '-', '*', '/']
row_index = len(list(range(9)))//3 + 2
for i, operator in enumerate(operators):
    button = tk.Button(root, text=operator, command=lambda operator=operator: button_click(operator))
    button.grid(row=row_index, column=i)

# 创建等号按钮
button_equal = tk.Button(root, text="=", command=calculate)
button_equal.grid(row=row_index, column=len(operators))

# 创建清除按钮
button_clear = tk.Button(root, text="Clear", command=clear)
button_clear.grid(row=row_index+1, column=0, columnspan=len(operators)+1)

# 运行主程序
root.mainloop()

这个例子创建了一个带有数字按钮、运算符按钮、等号按钮和清除按钮的简单计算器。当你点击数字或运算符按钮时,它们的值将显示在输入框中。当你点击等号按钮时,计算器将通过eval函数计算输入框中的表达式,并将结果显示在输入框中。当你点击清除按钮时,输入框将被清空。

要运行这个程序,你需要安装Python和Tkinter库。你可以在命令行中运行python calculator.py来启动这个简单的计算器应用程序。

这只是一个基本的示例,你可以根据自己的需求继续扩展和改进这个计算器。你可以添加其他功能,如括号、阶乘、平方根等,使其更加复杂和实用。