Python Tkinter 切换不同页面框架的应用17 Mar 2025 | 6 分钟阅读 Python 有许多其他GUI 框架,但只有Tkinter包含在核心库中。Tkinter有许多优点。由于Tkinter是跨平台的,相同的代码可以在 Windows、macOS 和 Linux 上运行。由于 Tkinter 使用本地操作系统组件来生成视觉元素,因此使用它创建的应用程序看起来就像属于运行它们的平台一样。 尽管 Tkinter 是事实上的 Python GUI 框架,但它并非没有批评者。一个值得注意的抱怨是,使用 Tkinter 创建的 GUI 看起来过时。如果你想要一个时尚、现代的界面,Tkinter 可能不是你正在寻找的。 与其他框架相比,Tkinter轻量级且通常易于使用。这使其成为创建 Python GUI 应用程序的诱人选择,特别是对于那些不需要现代外观,并且首要目标是快速构建跨平台且功能健全的应用程序。 Python 为 GUI(图形用户界面)开发提供了多种选择。在所有GUI 方法中,Tkinter是最常用的方法。它是 Python 提供的 Tk GUI 工具包的典型 Python 接口。使用 Python 和Tkinter构建 GUI 应用程序最快、最简单的方法。Tkinter使构建 GUI变得简单。
Tkinter可以像导入任何其他模块一样导入到 Python 代码中。请记住,在Python 3.x中,模块名称是“tkinter”,而在Python 2.x中是“Tkinter”。 有时,我们需要开发一个带有多个弹出对话框窗口的应用程序,也称为页面框架。这是一个将多个Tkinter页面框架连接在一起的分步教程!对于更复杂的Python GUI 应用程序,例如为虚拟实验室、教室等构建用户界面,这可以作为样板代码。 但首先,让我们简要了解一些可以在 tkinter 程序中使用的概念。 重要的 Tk 概念前面的示例也将演示以下关键 Tk 概念 控件 (Widgets) Tkinter 用户界面的组成部分称为控件。每个控件都表示为一个 Python 类的实例,例如ttk.Frame、ttk.Label 或 ttk.Button。 控件层次结构 控件的放置有一个层次结构。一个框架,它本身包含在根窗口中,容纳了标签和按钮。每个子控件都以其父控件作为第一个参数创建,然后该参数传递给控件函数构造函数。 配置选项 控件包含配置设置,这些设置会改变它们的外观和行为,例如出现在标签和按钮中的文本。对于不同类的控件将有多种选择。 几何管理器 控件在生成时不会立即添加到用户界面。它们在用户界面中的位置由几何管理器(如 grid)控制。 事件循环 只有当Tkinter实际执行事件循环时,它才会响应用户输入、程序所做的更改,甚至刷新显示。如果您的软件未运行事件循环,您的用户界面将不会更新。 这些是可以遵循的步骤
如tkinterApp类所示,StartPage充当应用程序的初始页面。此StartApp区域中有两个按钮。通过单击按钮,您可以访问按钮关联的页面。这些页面可以包含图形、图表和复杂功能。页面上还有两个按钮。按下按钮时,将执行show_frame函数,显示相应的页面。 分步解释代码首先,我们只需要对SeaofBTCapp类进行一个小修改。这是新的完整类 我们使用configure()函数调用任何控件来了解可用的配置选项。此方法生成一个字典,其中包含有关每个控件的详细信息,包括其默认值和当前值。要仅获取每个选项的名称,请使用keys()。 在此处观察此重要更改 在这里,我们在tuple中填充我们应用程序的所有潜在页面。所有这些页面都将因此加载。我们在__init__方法中使用StartPage首先显示,但之后我们可以调用 show frame 来提高任何我们想要的附加框架或窗口。 与 HTML 表格的工作方式类似,grid()方法用于确定标签在其容器控件中的相对布局(位置)。 因此,我们提出了Page One和Page Two。这是我们新的StartPage类,因为我们需要一种从StartPage访问这些页面的方法 在这里,控件的显示方式(在其容器内)以及主应用程序窗口调整大小时的行为由可以传递给pack()方法的关键字选项/值对控制。 注意:请记住,控件只有在使用几何管理器设置其几何形状后才会显示。遗漏几何规格是一个常见的早期错误,会导致控件生成后却不显示。例如,在使用了打包器的 pack() 方法之前,控件不会显示。我们包含了使用控制器上方的按钮。PageOne和PageTwo作为输入传递给 show frame 函数。 唯一剩下的就是创建PageOne和PageTwo类。这些很容易创建,并且与StartPage几乎相同 在这里,按钮和它们指向的位置是唯一重要的更改。 最终,mainloop()方法会显示所有内容并持续运行,直到程序结束。 完整代码输出 ![]() ![]() ![]() 下一个主题将(键:值)对附加到字典 |
Python 为 GUI(图形用户界面)开发提供了多种选择。在所有 GUI 方法中,Tkinter 是最常用的方法。使用 Python 和 Tkinter 是构建 GUI 应用程序最快、最简单的方法。本文将提供一个分步教程...
阅读 10 分钟
Pip 是一个包管理系统,用于安装和管理用 Python 编写的软件包。它代表“Pip Installs Packages”,它使我们能够轻松下载、升级和管理 Python 项目中使用的库和依赖项。使用 pip,我们可以从...
阅读 6 分钟
为了在以后使用,开发者有时可能希望通过网络传输复杂的对象命令来保存其对象的内部状态。开发者可以使用Python标准库支持的Pickle模块的序列化过程来实现这一点。我们将...
阅读 15 分钟
SNMP,即简单网络管理协议,是 SDN 的必要工具,是控制软件中设备的最佳选择。除此之外,应用程序内访问是 SNMP 的主要目的。毫无疑问,所有监控系统都利用 SNMP 来...
11 分钟阅读
时间序列预测简介 一系列在恒定时间间隔内记录度量值称为时间序列。根据频率,时间序列可以分为以下几类:年度(例如,年度预算)季度(例如,支出)月度(例如,空中交通)每周(例如,...
阅读 16 分钟
在本教程中,我们将学习如何使用 Python 创建一个生日提醒应用程序。我们的 Python 脚本名称是 birthdayReminder.py。以下命令在我们的 Ubuntu 终端中完成了此操作。然后,使用 Ubuntu 终端中的以下命令,我们将文件移动到...
阅读 4 分钟
在本教程中,我们将学习 Python Delorean 模块,该模块用于简化 datetime 对象。我们需要 datetime 模块来处理不同的时间和日期。有时这可能有点复杂和具有挑战性,在 Python 中处理 datetime 是...
阅读 3 分钟
学习机器学习和人工智能的课题并不容易。在本教程中,我们将能够获得许多关于用 Python 编写的人工智能项目的想法。为什么人工智能需求量大?人工智能开始...
5 分钟阅读
什么是Sklearn?Scikit-learn是一个开源Python包,用于在Python中实现机器学习模型。该库支持KNN、随机森林、XGBoost和SVC等现代算法。它构建在NumPy之上。Scikit-learn经常被知名软件公司和Kaggle竞赛使用。它有助于...
阅读 13 分钟
简介 在 Python 中,列表是一种可以存储异构元素的线性数据结构。它不需要定义,并且可以根据需要收缩和扩展。另一方面,NumPy 数组是一种可以存储同构元素的数据结构。它是...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India