Python Tkinter 教程

17 Mar 2025 | 6 分钟阅读
Python Tkinter Tutorial

Tkinter 教程提供了 Python Tkinter 的基础和高级概念。我们的 Tkinter 教程专为初学者和专业人士设计。

Python 提供了标准库 Tkinter,用于为桌面应用程序创建图形用户界面。

使用 Python Tkinter 开发桌面应用程序并非难事。可以通过以下步骤创建空的 Tkinter 顶层窗口。

  1. 导入 Tkinter 模块。
  2. 创建主应用程序窗口。
  3. 将小部件(如标签、按钮、框架等)添加到窗口。
  4. 调用主事件循环,以便可以在用户计算机屏幕上执行操作。

示例

输出

Python Tkinter

Tkinter 小部件

有各种小部件,如按钮、画布、复选框、输入框等,用于构建 Python GUI 应用程序。

序号Widget描述
1Button (按钮)Button 用于将各种类型的按钮添加到 Python 应用程序中。
2帆布Canvas 小部件用于在窗口上绘制画布。
3Checkbutton (复选框)Checkbutton 用于在窗口上显示复选框。
4Entry (输入框)Entry 小部件用于向用户显示单行文本字段。它通常用于接受用户输入的值。
5Frame它可以定义为一个容器,可以将另一个小部件添加并组织在其中。
6标签Label 是用于显示其他小部件的某些消息或信息的文本。
7列表框ListBox 小部件用于向用户显示选项列表。
8Menubutton (菜单按钮)Menubutton 用于向用户显示菜单项。
9Menu (菜单)它用于向用户提供菜单项。
10信息Message 小部件用于向用户显示消息框。
11Radiobutton (单选按钮)Radiobutton 与 Checkbutton 不同。在这里,向用户提供各种选项,用户只能从中选择一个选项。
12规模它用于向用户提供滑块。
13Scrollbar (滚动条)它为用户提供滚动条,以便用户可以上下滚动窗口。
14文本它与 Entry 不同,因为它为用户提供多行文本字段,以便用户可以在其中编写和编辑文本。
14Toplevel (顶层窗口)它用于创建单独的窗口容器。
15Spinbox (旋转框)它是一个输入框小部件,用于从多个选项值中进行选择。
16PanedWindow (带分隔条的窗口)它就像一个容器小部件,包含水平或垂直的窗格。
17LabelFrame (带标签的框架)LabelFrame 是一个容器小部件,充当容器。
18MessageBox (消息框)此模块用于在桌面应用程序中显示消息框。

Python Tkinter 布局管理器

Tkinter 布局管理器指定了小部件在显示器上显示的方法。Python Tkinter 提供了以下布局管理器方法。

  1. pack() 方法
  2. grid() 方法
  3. place() 方法

让我们详细讨论其中的每一个。

Python Tkinter pack() 方法

pack() 小部件用于在块中组织小部件。使用 pack() 方法添加到 Python 应用程序中的小部件的位置可以通过使用方法调用中指定的各种选项来控制。

但是,控件较少,小部件通常以不太有组织的方式添加。

使用 pack() 的语法如下。

语法

可以在 pack() 中传递的可能选项列表如下。

  • expand: 如果 expand 设置为 true,小部件将扩展以填充任何空间。
  • fill: 默认情况下,fill 设置为 NONE。但是,我们可以将其设置为 X 或 Y 来确定小部件是否包含任何额外的空间。
  • side: 它表示小部件要放置在窗口上的父级的哪一侧。

示例

输出

Python Tkinter

Python Tkinter grid() 方法

grid() 布局管理器以表格形式组织小部件。我们可以在方法调用中指定行和列作为选项。我们还可以指定小部件的列跨度(宽度)或行跨度(高度)。

这是将小部件放置到 Python 应用程序中的一种更有条理的方式。使用 grid() 的语法如下。

语法

可以在 grid() 方法中传递的可能选项列表如下。


  • 小部件要放置的列号。最左边的列表示为 0。
  • columnspan (列跨度)
    小部件的宽度。它表示列扩展到的列数。
  • ipadx, ipady (内部填充)
    它表示小部件内部填充小部件边框的像素数。
  • padx, pady (外部填充)
    它表示小部件外部填充小部件边框的像素数。

  • 小部件要放置的行号。最上面的行表示为 0。
  • rowspan
    小部件的高度,即小部件扩展到的行数。
  • 黏稠
    如果单元格大于小部件,则使用 sticky 来指定小部件在单元格内的位置。它可能是表示小部件位置的粘性字母的连接。它可以是 N、E、W、S、NE、NW、NS、EW、ES。

示例

输出

Python Tkinter

Python Tkinter place() 方法

place() 布局管理器将小部件组织到特定的 x 和 y 坐标。

语法

可能的选项列表如下。

  • anchor (锚点): 它表示小部件在容器内的确切位置。默认值(方向)是 NW(左上角)。
  • bordermode (边框模式): 边框类型的默认值是 INSIDE,表示忽略父级的内部边框。另一个选项是 OUTSIDE。
  • height, width (高度, 宽度): 以像素为单位的高度和宽度。
  • relheight, relwidth (相对高度, 相对宽度): 表示为 0.0 到 1.0 之间的浮点数,表示父级高度和宽度的分数。
  • relx, rely (相对 x, 相对 y): 表示为 0.0 到 1.0 之间的浮点数,是水平和垂直方向的偏移量。
  • x, y (x, y 坐标): 以像素为单位的水平和垂直偏移量。

示例

输出

Python Tkinter

前提条件

在学习 Tkinter 之前,您必须具备 Python 的基本知识。

目标受众

我们的 Python Tkinter 教程旨在帮助初学者和专业人士。

问题

我们保证您不会在此 Tkinter 教程中遇到任何问题。但如果存在任何错误,请在联系表单中提交问题。

下一个主题Python Tkinter Button