在这篇文章中,将探讨图形用户界面(GUI)的概念,并学习如何使用Python语言和Tkinter库来创建一个图形界面计算器。
图形用户界面(GUI)是一种视觉化的、用户友好的与计算机交互的方式。例如,用户可以轻松地点击一个按钮来查看当前时间,而不必像在命令行中输入“时间”那样复杂。GUI的例子包括Windows和Android设备,它们易于使用,而Linux系统则相对不那么直观,这也是为什么许多初学者更倾向于从Windows设备开始了解计算机。
Python是一种高级编程语言,易于使用,语法简洁。虽然在速度上可能不如C/C++,但其庞大的社区和丰富的库弥补了这一点。Tkinter库是Python的一个GUI库,它在后台处理所有错误,提供GUI API供使用。
GUI计算器与传统计算器的不同之处在于,用户可以通过点击按钮来使用它,而不是像在Python中打印(2+2)那样输入命令。在GUI计算器中,所有的操作符和数字都以图形方式表示,用户可以点击它们来使用。
要创建这个程序,首先需要在系统上安装Tkinter GUI库。安装命令如下:
pip install tkinter
接下来,将开始编程。首先,需要导入Tkinter库:
import tkinter as tk
from tkinter import *
以上代码将Tkinter导入为tk,意味着可以将其作为tk访问,同时导入了Tkinter库中的所有内容。
接下来,将创建一个Tk()实例,并将其存储在变量app中,之后将使用app代替Tk()。将窗口大小设置为170×230:
app = tk.Tk()
app.geometry("170x230")
app.title("python-calculator")
app.maxsize(170,230)
app.minsize(170,230)
使用title()方法将窗口命名为“python calculator”,并使用maxsize()和minsize()方法将窗口的最大和最小尺寸设置为170×230。这样,当用户尝试调整窗口大小时,窗口大小将保持不变,因为不希望调整之后将要创建的按钮。
现在,将使用Tkinter库中的Entry小部件来创建计算器的输入框:
ent = Entry(app, width=16, borderwidth=3, relief=RIDGE)
ent.grid(pady=10,row=0,sticky="w",padx=15)
Entry小部件接受参数,如父容器(这里是“app”),宽度(16像素),边框宽度(3像素),以及样式(RIDGE),这使得它看起来像一个输入框。grid()方法创建了一个2D表格,可以将其视为行和列,并添加了pady(y方向的填充为10像素),sticky(方向为西或“w”),以及padx(x方向的填充为15像素)的配置。
接下来,定义了几个函数来处理输入和计算结果。例如,delete()函数用于删除输入的最后一个字符,fresult()函数用于计算最终结果。
def delete(): a = ent.get() ent.delete(first=len(a)-1,last="end")
def fresult(): if ent.get() == "": pass elif ent.get()[0] == "0": ent.delete(0,"end") else: c_res = ent.get() c_res = eval(c_res) clearf() ent.insert("end",c_res)
def clearf(): ent.delete(0,"end")
现在,将添加GUI小部件,包括数字和运算符按钮。每个按钮都有类似的参数,如width=2, borderwidth=3, 和relief=RIDGE。不同的参数是text(每个按钮的新文本)和command(一个新的lambda函数)。
最后,使用mainloop()方法来启动GUI:
app.mainloop()
这是Tkinter库的mainloop()类的最后一行代码,它将处理所有用户点击和后台线程。
这就是使用Tkinter和Python创建的GUI计算器。现在,可以将其编译成.exe文件。
步骤1:安装Pyinstaller包并创建一个文件夹。安装命令如下:
pip install pyinstaller
步骤2:将Python脚本保存到文件夹中。
步骤3:使用命令提示符或PowerShell创建exe文件。命令如下:
pyinstaller yourfilename.py
步骤4:创建exe文件后,点击并运行它。
步骤5:使用以下代码将其编译为单文件:
pyinstaller --onefile yourfilename.py