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

TkinterALL编程实例:实现一个简单的计算器

发布时间:2024-01-18 16:10:32

Tkinter是Python的一个标准GUI库,用于创建图形化用户界面。它提供了一系列的工具和组件,可以用来构建各种GUI应用程序,包括计算器。

下面是一个使用Tkinter实现的简单计算器的代码示例:

import tkinter as tk

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

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

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

root = tk.Tk()
root.title("Calculator")

entry = tk.Entry(root, width=35, borderwidth=5)
entry.grid(row=0, column=0, columnspan=3, padx=10, pady=10)

button_1 = tk.Button(root, text="1", padx=40, pady=20, command=lambda: button_click(1))
button_2 = tk.Button(root, text="2", padx=40, pady=20, command=lambda: button_click(2))
button_3 = tk.Button(root, text="3", padx=40, pady=20, command=lambda: button_click(3))
button_4 = tk.Button(root, text="4", padx=40, pady=20, command=lambda: button_click(4))
button_5 = tk.Button(root, text="5", padx=40, pady=20, command=lambda: button_click(5))
button_6 = tk.Button(root, text="6", padx=40, pady=20, command=lambda: button_click(6))
button_7 = tk.Button(root, text="7", padx=40, pady=20, command=lambda: button_click(7))
button_8 = tk.Button(root, text="8", padx=40, pady=20, command=lambda: button_click(8))
button_9 = tk.Button(root, text="9", padx=40, pady=20, command=lambda: button_click(9))
button_0 = tk.Button(root, text="0", padx=40, pady=20, command=lambda: button_click(0))
button_add = tk.Button(root, text="+", padx=39, pady=20, command=lambda: button_click("+"))
button_subtract = tk.Button(root, text="-", padx=41, pady=20, command=lambda: button_click("-"))
button_multiply = tk.Button(root, text="*", padx=41, pady=20, command=lambda: button_click("*"))
button_divide = tk.Button(root, text="/", padx=41, pady=20, command=lambda: button_click("/"))
button_equal = tk.Button(root, text="=", padx=91, pady=20, command=button_equal)
button_clear = tk.Button(root, text="Clear", padx=79, pady=20, command=button_clear)

button_1.grid(row=1, column=0)
button_2.grid(row=1, column=1)
button_3.grid(row=1, column=2)
button_4.grid(row=2, column=0)
button_5.grid(row=2, column=1)
button_6.grid(row=2, column=2)
button_7.grid(row=3, column=0)
button_8.grid(row=3, column=1)
button_9.grid(row=3, column=2)
button_0.grid(row=4, column=0)
button_clear.grid(row=4, column=1, columnspan=2)
button_add.grid(row=5, column=0)
button_equal.grid(row=5, column=1, columnspan=2)
button_subtract.grid(row=6, column=0)
button_multiply.grid(row=6, column=1)
button_divide.grid(row=6, column=2)

root.mainloop()

这个示例代码中,我们首先创建了一个计算器的窗口,并设置窗口的标题为"Calculator"。然后创建了一个文本输入框entry,用于显示用户输入的表达式和计算结果。

接下来,创建了数字按钮和运算符按钮。对于数字按钮,通过command参数指定了点击按钮时的回调函数button_click,该函数会在文本输入框中显示对应的数字。对于运算符按钮,同样通过command参数指定了点击按钮时的回调函数button_click,不同之处在于运算符按钮直接将运算符字符插入到文本输入框中。

同时,还创建了一个"="按钮和一个"Clear"按钮,分别用于执行计算和清除文本输入。

最后,通过grid方法将所有的按钮和文本输入框放置到窗口中的适当位置。

运行这段代码,将会弹出一个计算器的窗口,用户可以通过点击按钮输入表达式,点击"="按钮计算结果,并在文本输入框中显示计算结果。点击"Clear"按钮可以清空文本输入框。

这个简单的计算器只能进行基本的四则运算,但你可以根据自己的需求进行扩展,添加更多的功能和按钮。

使用Tkinter创建计算器的优点在于它易于学习和使用,而且可以运行在不同的操作系统上。然而,Tkinter并不是 的选择,其他的Python GUI库,如PyQt和wxPython等,也可以用于创建计算器或其他类型的图形化应用程序。