使用 Python 创建图形用户界面计算器

PythonBeginner
立即练习

介绍

在本项目中,我们将指导你如何使用 Python 和 tkinter 库创建一个基本的图形用户界面(GUI)计算器。这个计算器将能够执行简单的算术运算,如加法、减法、乘法和除法。

👀 预览

GUI 计算器界面预览

🎯 任务

在本项目中,你将学习:

  • 如何为计算器设置主 tkinter 窗口
  • 如何添加一个计算函数来执行算术运算
  • 如何创建一个输入字段,供用户输入数字并查看结果
  • 如何添加数字、算术运算和清除功能的按钮
  • 如何运行 tkinter 事件循环来启动计算器

🏆 成果

完成本项目后,你将能够:

  • 使用 tkinter 库创建图形用户界面
  • 将函数绑定到按钮以实现交互性
  • 在 Python 中执行基本算术运算
  • 使用输入字段显示和更新结果
这是一个实验(Guided Lab),提供逐步指导来帮助你学习和实践。请仔细按照说明完成每个步骤,获得实际操作经验。根据历史数据,这是一个 中级 级别的实验,完成率为 68%。获得了学习者 87% 的好评率。

创建项目文件

首先,创建一个名为 labex_calculator.py 的新 Python 文件。此文件将包含我们计算器的代码。要创建该文件,你可以使用操作系统的终端或图形用户界面。

## 创建一个新的Python文件
cd ~/project
touch labex_calculator.py
✨ 查看解决方案并练习

设置主 Tkinter 窗口

要开始构建我们的计算器,请在文本编辑器中打开 labex_calculator.py 文件。创建计算器图形用户界面(GUI)的第一步是创建一个主窗口。我们将使用 tkinter 库来完成此操作。

## 导入 tkinter 库
import tkinter as tk

## 创建主 tkinter 窗口/顶级窗口
root = tk.Tk()
root.title('LabEx 计算器') ## 设置我们计算器的标题
root.geometry('400x600') ## 设置我们计算器的大小
root.configure(background='浅蓝色') ## 设置我们计算器的背景颜色
✨ 查看解决方案并练习

添加一个计算函数

为了使计算器能够执行算术运算,定义一个名为 calculate 的函数。

def calculate(event):
    text = event.widget.cget('text') ## 从按钮获取文本
    if text == '=':
        try:
            result = str(eval(entry.get())) ## 计算结果
            entry.set(result) ## 将输入框设置为结果
        except Exception as e:
            entry.set('Error') ## 发生错误时,将输入框设置为'Error'
        return

    if text == 'C':
        entry.set('') ## 如果按下'C',清除输入框
        return
    entry.set(entry.get() + text) ## 将按下按钮的文本添加到输入框
✨ 查看解决方案并练习

创建一个输入框

创建一个输入框,供用户输入数字并查看计算结果。

entry = tk.StringVar()
entry.set('') ## 将初始输入设置为空字符串
entry1 = tk.Entry(root, textvar=entry, font='lucida 30 bold', bd=5, insertwidth=4, bg='powder blue', justify='right') ## 创建输入框
entry1.pack(fill=tk.X, ipadx=8, pady=10, padx=10) ## 定位输入框
✨ 查看解决方案并练习

添加按钮

接下来,为计算器添加用于数字、算术运算和清除功能的按钮。

button_frame = tk.Frame(root) ## 创建一个用于放置按钮的框架
button_frame.pack() ## 将框架添加到 tkinter 窗口

## 按钮文本列表
button_list = [
    '7', '8', '9', '/',
    '4', '5', '6', '*',
    '1', '2', '3', '-',
    '.', '0', '=', '+',
    '00', '000', 'C'
]

## 创建并定位按钮
i = 0
for btn_text in button_list:
    button = tk.Button(button_frame, text=btn_text, font='lucida 20 bold', bg='skyblue', padx=15, width=5)
    button.grid(row=int(i/4), column=i%4, padx=3, pady=3)
    i += 1
    button.bind('<Button-1>', calculate) ## 将'calculate'函数绑定到按钮
✨ 查看解决方案并练习

运行项目

最后,让我们运行 tkinter 事件循环来启动计算器。

root.mainloop()

切换到桌面并运行项目。

python labex_calculator.py
计算器应用程序界面
✨ 查看解决方案并练习

总结

恭喜你!你现在已经使用 Python 和 tkinter 库创建了一个基本的图形用户界面(GUI)计算器。你可以通过运行 labex_calculator.py 脚本来运行你的计算器。在这个项目中,我们涵盖了创建一个 tkinter 窗口、添加一个计算函数、为计算器创建一个输入框、添加执行算术运算的按钮以及运行计算器。