2.png

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

Python 为创建基于桌面的应用程序提供了标准库 Tkinter。

使用 Python Tkinter 开发基于桌面的应用程序并不是一项复杂的任务。可以通过以下步骤创建一个空的 Tkinter 顶层窗口。

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

示例

# !/usr/bin/python3 
from tkinter import * 

# 创建应用程序主窗口。  
top = Tk() 

# 进入事件主循环。 
top.mainloop() 

输出:

3.png

Tkinter 小部件

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

序号小部件描述
1按钮按钮用于向 Python 应用程序添加各种类型的按钮。
2画布画布小部件用于在窗口上绘制画布。
3复选框复选框用于在窗口上显示复选框。
4输入框输入框小部件用于向用户显示单行文本字段。通常用于接受用户输入。
5框架框架可以定义为容器,可以向其中添加和组织其他小部件。
6标签标签是用于显示有关其他小部件的一些消息或信息的文本。
7列表框列表框小部件用于向用户显示选项列表。
8菜单按钮菜单按钮用于向用户显示菜单项。
9菜单用于向用户添加菜单项。
10消息框消息框小部件用于向用户显示消息框。
11单选按钮单选按钮与复选框不同。在这里,用户可以选择多个选项中的一个。
12滑块用于向用户提供滑块。
13滚动条它为用户提供滚动条,以便用户可以上下滚动窗口。
14文本框它与输入框不同,因为它向用户提供多行文本字段,使用户可以在其中编写文本并编辑文本。
15顶级窗口用于创建一个单独的窗口容器。
16选项框这是一个用于从值选项中选择的输入小部件。
17分栏窗口它类似于一个容器小部件,包含水平或垂直窗格。
18标签框架标签框架是充当容器的小部件。
19消息框此模块用于在基于桌面的应用程序中显示消息框。

Python Tkinter 几何布局

Tkinter 几何布局指定小部件在显示上的排列方法。Python Tkinter 提供了以下几何布局方法。

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

让我们详细讨论每个方法。

Python Tkinter pack() 方法

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

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

以下是使用 pack() 的语法。

语法

widget.pack(options) 

以下是可以传递给 pack() 方法的可能选项列表。

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

示例

# !/usr/bin/python3 
from tkinter import * 

# 创建父级应用程序。  
parent = Tk() 

redbutton = Button(parent, text="红色", fg="红色") 
redbutton.pack(side=LEFT) 

greenbutton = Button(parent, text="黑色", fg="黑色") 
greenbutton.pack(side=RIGHT) 

bluebutton = Button(parent, text="蓝色", fg="蓝色") 
bluebutton.pack(side=TOP) 

blackbutton = Button(parent, text="绿色", fg="红色") 
blackbutton.pack(side=BOTTOM) 

parent.mainloop()

输出:

4.png

Python Tkinter grid() 方法

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

这是一种更有组织的方式,用于将小部件放置到 Python 应用程序中。以下是使用 grid() 的语法。

语法

widget.grid(options)  

以下是可以在 grid() 方法内部传递的可能选项列表。

  • column: 小部件要放置在其中的列号。最左边的列由 0 表示。
  • columnspan: 小部件的宽度。它表示要扩展的列数。
  • ipadx, ipady: 它表示在小部件的边界内部填充小部件的像素数。
  • padx, pady: 它表示在小部件的边界外部填充小部件的像素数。
  • row: 小部件要放置在其中的行号。最上面的行由 0 表示。
  • rowspan: 小部件的高度,即小部件扩展到的行数。
  • sticky: 如果单元格大于小部件,则 sticky 用于指定小部件在单元格内的位置。它可能是代表小部件位置的粘性字母的连接。可能是 N、E、W、S、NE、NW、NS、EW、ES。

示例

# !/usr/bin/python3 
from tkinter import * 

parent = Tk() 

name = Label(parent, text="姓名").grid(row=0, column=0) 
e1 = Entry(parent).grid(row=0, column=1) 

password = Label(parent, text="密码").grid(row=1, column=0) 
e2 = Entry(parent).grid(row=1, column=1) 

submit = Button(parent, text="提交").grid(row=4, column=0) 

parent.mainloop()

输出:

5.png

Python Tkinter place() 方法

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

语法

widget.place(options)  

以下是可能的选项列表。

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

示例

# !/usr/bin/python3 
from tkinter import * 

top = Tk() 
top.geometry("400x250") 

name = Label(top, text="姓名").place(x=30, y=50) 
email = Label(top, text="电子邮件").place(x=30, y=90) 
password = Label(top, text="密码").place(x=30, y=130) 

e1 = Entry(top).place(x=80, y=50) 
e2 = Entry(top).place(x=80, y=90) 
e3 = Entry(top).place(x=95, y=130) 

top.mainloop()

输出:

6.png

先决条件

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

受众

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

问题

我们保证您在这个 Tkinter 教程中不会遇到任何问题。但如果有任何错误,请在联系表单中发布问题。

标签: Tkinter教程, Tkinter安装, Tkinter库, Tkinter入门, Tkinter学习, Tkinter入门教程, Tkinter, Tkinter进阶, Tkinter指南, Tkinter学习指南, Tkinter进阶教程, Tkinter编程