Python 中的 GUI 计算器2025年3月17日 | 阅读19分钟 在本教程中,我们将学习如何使用 Python 中的 Tkinter 库构建一个简单的 GUI 计算器。我们将逐步学习完整的代码片段。 那么,让我们开始吧。 开始使用 Tkinter 构建 GUI 计算器Tkinter 库提供了在 Python 编程语言中开发基于图形用户界面 (GUI) 应用程序的最快、最简单的方法。Tkinter 包,也称为“Tk 接口”,是 Python 与 Tcl/Tk GUI 工具包的标准接口。Tk 和 Tkinter 在大多数 Unix 平台和 Windows 系统上都可用。如果有人在 Linux/Ubuntu 上工作,则需要在他们的机器上安装 Tkinter 包才能运行程序;但是,它随 Python 安装一起预装在 Windows 上。 如果 Tkinter 未预装在 Python 中,那么我们可以通过在 Windows 命令提示符中键入以下命令,使用“pip”安装程序安装它 语法 什么是 Tkinter 消息框?消息框是 Python Tkinter 库中的一个小部件。此小部件用于在 Python 应用程序中显示消息框。我们可以使用此模块通过多种功能显示消息。 语法 参数
理解 GUI 计算器的结构为了开始构建 GUI 计算器,我们需要了解其结构。这种分析将使工作更加高效和有效。以下是我们将构建的 GUI 计算器的结构。 ![]() 以上结构由标签、框架和按钮组成。让我们简要讨论这些小部件 Python Tkinter 标签: Label 小部件用于指定用户可以设置文本或图像的容器框。此小部件用于向用户提供与 Python 应用程序中使用的其他小部件相关的消息。 Python Tkinter 框架: Frame 小部件只是一种小部件。Python 中的框架充当其子元素的容器。这些小部件为子元素提供主框架,并允许我们逐帧划分应用程序的整个布局。 例如,我们运行一个应用程序,其结构由一个开头的标签,然后是一个根窗口上的一些按钮组成。我们可以将这个根窗口按部分划分。假设标签是一个片段,然后按钮是另一个片段。如果我们将这些片段放在一个框架中,这个框架将充当父元素。这将使我们能够简化复杂的设计。 一旦我们将框架包含在 GUI 计算器的结构中,它的结构将如下所示
Python Tkinter 按钮: Button 小部件用于在 Python 应用程序中插入按钮。这些按钮可以显示文本或图像,表达按钮的目的。我们可以将一个方法或函数附加到按钮上,当点击按钮时会自动调用该方法或函数。 既然我们已经了解了我们将要构建的 GUI 计算器的结构,我们就可以进入代码部分了。 Python 中 GUI 计算器的代码实现在以下部分中,我们将看到 Python 编程语言中 GUI 计算器的代码实现。这个项目的实现将逐步进行 步骤 1:定义函数 步骤 2:为 GUI 计算器创建窗口 步骤 3:设置标签格式 步骤 4:在窗口上打包按钮 步骤 5:将按钮添加到 GUI 计算器 定义函数我们现在将从导入所需的库和模块开始。现在让我们考虑以下演示相同内容的代码片段 文件:guiCalci.py 说明 在上面的代码片段中,我们导入了必要的库,例如 Tkinter 以及所有小部件类,包括 messagebox 模块。 我们现在将定义将操作按钮工作的函数。现在让我们考虑以下代码片段,它演示了当用户按下按钮“1”时调用的函数的实现。 文件:guiCalci.py 说明 在上面的代码片段中,我们定义了一些变量并用初始值对其进行了初始化。然后我们定义了一个函数,当用户按下按钮“1”时将调用该函数。然后我们在此函数中使用了 global 关键字和 var 变量。这将允许我们在此函数中修改 var 变量的值。然后我们将 1 连接到 var 变量,并使用我们将在本教程后面定义的 set() 方法在 StringVar 中设置此变量。 当用户点击数字“1”按钮时,将调用此函数。此函数将在标签上显示点击的数字,并将其存储在不同的变量中,以便于计算。 我们现在将对所有 Tkinter 按钮遵循相同的步骤。这是演示相同内容的代码片段。 文件:guiCalci.py 说明 在上面的代码片段中,我们定义了不同的函数来将所需的值或运算符附加到字符串。对于从 0 到 9 的值,我们使用了 global 关键字和 var 变量,并将所需的数字附加到最终字符串。对于像 +、-、*、/、= 和 C 这样的运算符,我们使用了 global 关键字和 A、var 和 operator 变量,并将所需的运算符附加到最终字符串。最后,我们定义了一个函数来计算结果。在此函数中,我们再次使用了 global 关键字来修改 A、operator 和 var 变量的值。然后我们声明并初始化了一个新变量,将其值设置为 var。然后我们使用了 if-elif-else 条件语句来根据需要进行操作并存储结果。 为 GUI 计算器创建窗口我们现在将使用 Tkinter 库的 Tk() 类创建一个窗口。这个窗口将包含标题栏和其他装饰。 根窗口是程序中的主应用程序窗口。它必须在任何其他小部件之前创建。此窗口包含标题栏和边框。这些装饰由窗口管理器提供。 Tk() 类的 geometry 方法允许程序员设置窗口的大小和屏幕上的位置。此方法的前两个参数是窗口的宽度和高度,而后两个参数是用于在屏幕上定位窗口的 x 和 y 坐标。 Tk() 类的 resizable 方法允许用户根据需要更改窗口的大小。我们将此方法的参数设置为 0,禁用窗口的调整大小选项。最好使用 resizable(0, 0) 方法,因为它将使计算器看起来更合适。 现在让我们考虑以下代码片段来演示这一点。 文件:guiCalci.py 说明 在上面的代码片段中,我们创建了一个 Tk() 类的对象。然后我们使用 geometry() 方法设置了窗口的大小。我们还使用了 resizable() 方法并将参数设置为 0,以禁用调整大小选项,以获得更好的用户界面。最后,我们使用了 title() 方法并为计算器添加了标题。 设置标签格式Label 小部件允许我们创建一个显示框,我们可以在其中放置文本或图像。这个小部件允许我们根据需要随时更新显示的文本。还可以强调部分文本(例如识别键盘快捷键)并将文本限制在多行中。 标签的父级是根,这意味着它不会局限于单个框架,而是整个根窗口。然后我们将放置一个简单的文本,我们将在整个代码中动态更改它,直到我们点击的数字按钮显示在标签上。 Tkinter StringVar 允许我们更有效地管理像 Label 或 Entry 这样的小部件的值。容器是 StringVar 对象所关联的小部件。如果我们省略容器,它将默认为根窗口,并且值是默认为空字符串的初始值。
文件:guiCalci.py 说明 在上面的代码片段中,我们创建了一个 StringVar 类的对象。然后我们使用 Label 小部件为窗口创建了标签,指定了一些参数,如 Tk() 类的对象、text、anchor、字体样式和大小、textvariable、背景颜色和前景色。 然后我们使用了 pack() 方法和 Label 的对象,并将 expand 参数的值设置为 True。expand 参数负责父小部件的展开。 在窗口上打包按钮Tkinter 提供了一个名为 Frame 的小部件。这个小部件在以某种友好方式对其他小部件进行分组和排列方面具有重要意义。帧就像容器,负责组织其他小部件的位置。 它利用屏幕中的矩形区域来组织布局并提供这些小部件的填充。 我们还可以将框架用作实现复杂小部件的基础类。 框架的语法如下所示 语法 参数
现在让我们考虑以下代码片段,它演示了 GUI 计算器项目中框架的实现。 文件:guiCalci.py 说明 在上面的代码片段中,我们使用了 Frame() 小部件为窗口创建了一个框架。我们还包含了 bg 参数以美化框架并添加背景颜色。然后我们使用了 pack() 方法和 Frame 的对象,以便框架在获得一些空间时可以展开。然后我们对其他三个框架重复了相同的过程。 将按钮添加到 GUI 计算器Python 中的 Tkinter 库提供了一个名为 Button 的小部件。此小部件将允许我们向 GUI 计算器添加按钮。这些按钮可以显示文本或图像,以实现按钮的目的。我们还可以将函数或方法附加到按钮,当点击按钮时会自动调用。 现在让我们考虑以下代码片段,它演示了 Button 小部件的实现。 文件:guiCalci.py 说明 在上面的代码片段中,我们使用 Button() 小部件创建了不同的按钮。对于每个按钮,我们都指定了目标 Frame 对象,设置了要显示的文本、字体样式和大小、relief、border 和 command。然后我们使用 pack() 方法将每个按钮并排放置。 最后,我们将包含 mainloop() 方法来运行窗口。 文件:guiCalci.py 说明 在上面的代码片段中,我们使用了 mainloop() 方法以及 Tk() 类的对象来运行窗口。 “GUI 计算器”项目的编码终于完成。我们现在可以保存文件并运行程序以查看它是否有效。 要运行程序,我们可以在命令行 shell 或终端中键入以下命令 命令 但在我们看到输出之前,这里有一个完整的项目代码。 完整的项目代码以下程序文件是“GUI 计算器”项目的完整代码。 文件:guiCalci.py 输出 ![]() 下一个主题Python 中的 Sympy 模块 |
文字编程总是与文字错误相关联,因为我们在编码时遇到错误是非常普遍的。错误对于所有程序员来说都非常普遍,这不仅仅是初学者才会遇到的。即使是编码多年的程序员...
阅读 13 分钟
Python取证与虚拟化 | 哈希函数 在本教程中,我们将学习使用Python的取证科学、基本的Python取证应用程序、哈希函数、破解加密、可视化、命名约定、Dshell和Scapy、网络取证及其详细解释。简介 收集和保存证据对于网络安全至关重要。
14 分钟阅读
简介:本教程教我们一个程序,用于使用 Python 生成 CAPTCHA 并验证用户。CAPTCHA 用于各种网站,以检查用户是人类还是机器人。它主要用于安全目的。对于使用 CAPTCHA,除了人类...
阅读 4 分钟
时间序列预测被认为是一项具有挑战性的任务,因为我们可以利用各种方法,并且每种方法都有各种超参数。Prophet 库是一个开源库,旨在预测时间序列的单变量数据集。它易于使用且开发...
阅读9分钟
self 代表类实例。我们可以使用 Python 中的“self”关键字访问类的属性和方法。该关键字将属性与提供的类参数关联起来。由于 Python 不使用 @ 语法来创建对实例属性的引用,因此我们必须...
阅读 6 分钟
图像过滤是照片处理中的一个重要概念,旨在通过各种技术增强或改进照片。最通用和广泛使用的过滤策略之一是双边过滤。这种技术不再保留图像中的边缘和高质量细节,而且还减少了噪音...
阅读 4 分钟
在这个问题中,我们将得到两个已排序的数组。我们的任务是合并这两个给定的数组。然而,限制是,我们必须在不使用任何额外空间的情况下合并它们。因此,在对数组进行排序后,初始元素将位于...
阅读20分钟
简介:在生物信息学和计算生物学不断发展的领域中,研究人员经常发现自己要处理各种复杂的数据集。Bioconductor 是一个广泛使用的开源软件项目,提供了一套工具和库,以方便高通量基因组数据的分析和解释。虽然...
阅读 4 分钟
Python 的控制台是什么意思?本质上,控制台(也称为 Shell)是一个命令行解释器,它一次处理用户的输入或一个命令。如果没有错误,则执行命令并产生必要的输出;否则,将发生错误...
阅读 2 分钟
Python 初学者项目构想 学习任何编程语言或技术最好的方法是创建项目。目前,Python 是最受欢迎且最具挑战性的语言。我们可以通过为特定项目创建代码来测试自己。它...
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India