Python tkinter 简易计算器实现教程

1. 整体流程

为了实现这个简易计算器,我们需要按照以下步骤进行操作:

步骤 操作
1 创建一个窗口
2 添加显示结果的文本框
3 添加数字按钮
4 添加操作按钮
5 实现计算功能
6 运行窗口

在下面的教程中,我将逐步指导你完成这些步骤。

2. 创建窗口

首先,我们需要导入 tkinter 模块,并创建一个窗口对象。代码如下:

import tkinter as tk

window = tk.Tk()

3. 添加显示结果的文本框

我们需要在窗口中添加一个文本框来显示计算结果。代码如下:

result = tk.StringVar()  # 创建一个字符串变量用于存储结果

result_text = tk.Label(window, textvariable=result)  # 创建一个标签用于显示结果
result_text.pack()  # 将标签添加到窗口中

4. 添加数字按钮

接下来,我们需要添加数字按钮。这里我们使用一个 for 循环来创建 10 个数字按钮,代码如下:

numbers = []  # 用于存储数字按钮的列表

for i in range(10):
    btn = tk.Button(window, text=str(i), command=lambda num=i: append_number(num))
    btn.pack(side="left")
    numbers.append(btn)

这段代码中,我们使用了 command 参数来指定按钮点击时执行的函数。lambda 表达式用于传递按钮对应的数字。

5. 添加操作按钮

然后,我们需要添加加、减、乘、除四个操作按钮。代码如下:

operators = ["+", "-", "*", "/"]  # 操作符列表

for operator in operators:
    btn = tk.Button(window, text=operator, command=lambda opr=operator: set_operator(opr))
    btn.pack(side="left")

同样的,我们使用 command 参数来指定按钮点击时执行的函数,并使用 lambda 表达式来传递操作符。

6. 实现计算功能

最后,我们需要实现计算功能。我们可以创建一个函数来执行计算,并在按钮点击时调用该函数。代码如下:

def calculate():
    expression = result.get()
    try:
        result.set(eval(expression))  # 使用 eval 函数计算表达式并更新结果
    except:
        result.set("Error")  # 如果计算出错,则显示 "Error"

def append_number(num):
    current = result.get()
    result.set(current + str(num))  # 在当前结果后追加数字

def set_operator(operator):
    current = result.get()
    result.set(current + operator)  # 在当前结果后追加操作符

在这个函数中,我们使用 eval 函数来计算表达式的值。如果计算出错,我们将结果设置为 "Error"。

7. 运行窗口

最后,我们需要运行窗口以显示计算器。代码如下:

window.mainloop()

这段代码将启动窗口的事件循环,使窗口一直显示。

整体代码

下面是完整的计算器代码:

import tkinter as tk

window = tk.Tk()

result = tk.StringVar()

result_text = tk.Label(window, textvariable=result)
result_text.pack()

numbers = []

for i in range(10):
    btn = tk.Button(window, text=str(i), command=lambda num=i: append_number(num))
    btn.pack(side="left")
    numbers.append(btn)

operators = ["+", "-", "*", "/"]

for operator in operators:
    btn = tk.Button(window, text=operator, command=lambda opr=operator: set_operator(opr))
    btn.pack(side="left")

def calculate():
    expression = result.get()
    try:
        result.set(eval(expression))
    except:
        result.set("Error")

def append_number(num):
    current = result.get()
    result.set(current + str(num))

def set_operator(operator):
    current = result.get()
    result.set(current + operator)

window.mainloop()

这样,我们就完成了一个简易的 Python tkinter 计算器。

![计算器界面](

通过以上的步骤,你应该已经掌握了如何使用 tkinter 实现一个简易计算器的方法。希望本教程