📜  Python|使用 Tkinter 的简单 GUI 计算器(1)

📅  最后修改于: 2023-12-03 15:19:18.082000             🧑  作者: Mango

Python | 使用 Tkinter 的简单 GUI 计算器

使用 Python 和 Tkinter 库,我们可以轻松地创建一个简单的 GUI 计算器,它可以帮助我们进行基本的算术运算。这是一个很好的入门项目,可以让你学习如何使用 Tkinter 在 Python 中创建 GUI 应用程序。

准备工作

在开始之前,确保你已经安装了 Python。我建议使用 Python 3.x,因为 Python 2.x 的支持已经停止了。除此之外,你需要在你的系统上安装 Tkinter 库。在大多数 Linux 发行版上,它已经自带了。如果你使用的是 Windows 或 macOS,请自行安装。

创建基本布局

我们首先要做的是创建计算器的基本布局。我们将使用 Tkinter 提供的几个小部件来实现这一点。这些部件是:

  • Label:用于显示文本。
  • Entry:用于显示和接受输入。
  • Button:用于创建按钮。
  • Frame:用于创建窗口容器。

以下是我们将要使用的 Python 代码片段:

import tkinter as tk

class Calculator:
    def __init__(self, master):
        self.master = master
        master.title('简单计算器')

        # 创建和显示输入框
        self.input_text = tk.StringVar()
        self.input_field = tk.Entry(master, textvariable=self.input_text, width=15, font=('Arial', 16))
        self.input_field.pack(side=tk.TOP, pady=5)

        # 创建按钮
        self.button_frame = tk.Frame(master)
        self.button_frame.pack(side=tk.TOP, pady=5)
        self.create_button('7').grid(row=0, column=0)
        self.create_button('8').grid(row=0, column=1)
        self.create_button('9').grid(row=0, column=2)
        self.create_button('+').grid(row=0, column=3)

        self.create_button('4').grid(row=1, column=0)
        self.create_button('5').grid(row=1, column=1)
        self.create_button('6').grid(row=1, column=2)
        self.create_button('-').grid(row=1, column=3)

        self.create_button('1').grid(row=2, column=0)
        self.create_button('2').grid(row=2, column=1)
        self.create_button('3').grid(row=2, column=2)
        self.create_button('*').grid(row=2, column=3)

        self.create_button('C').grid(row=3, column=0)
        self.create_button('0').grid(row=3, column=1)
        self.create_button('=').grid(row=3, column=2)
        self.create_button('/').grid(row=3, column=3)

    def create_button(self, text):
        return tk.Button(self.button_frame, text=text, width=4, height=2, font=('Arial', 16),
                          command=lambda: self.button_click(text))

    def button_click(self, text):
        # 获取输入框文本
        input = self.input_text.get()

        if text == 'C':
            # 清空输入框
            self.input_text.set('')
        elif text == '=':
            # 计算结果
            try:
                result = eval(input)
                self.input_text.set(result)
            except:
                self.input_text.set('ERROR')
        else:
            # 添加字符到输入框
            self.input_text.set(input + text)

root = tk.Tk()
app = Calculator(root)
root.mainloop()

在上面的代码中,我们创建了一个 Calculator 类,该类继承自 tkinter.Frame。在 __init__ 方法中,我们创建了输入框和按钮。create_button 方法用于创建按钮。button_click 方法用于处理按钮单击事件。

我们用 pack 方法将输入框和按钮框架放置在主窗口中。

在按钮的 command 参数中,我们使用了 lambda 表达式,以便我们可以将 button_click 方法的参数与按钮文本捆绑在一起。

在终端中启动应用程序

我们可以在终端中运行代码来启动该应用程序。将上述代码保存在一个名为 calculator.py 的文件中,并用以下命令运行它:

python calculator.py

这将打开一个带有计算器应用程序的图形用户界面。

image1

总结

在此教程中,我们学习了如何使用 Python 和 Tkinter 库创建一个简单的 GUI 计算器。我们学习了如何创建和显示小部件、如何捆绑按钮单击事件以及如何在计算器中执行基本算术运算。该项目是学习 Tkinter 的很好的起点,你可以将其用作一个模板来创建更复杂的应用程序。