Tkinter 教程-PythonTkinter 教程
Tkinter 教程提供 Python Tkinter 的基础和高级概念。我们的 Tkinter 教程旨在为初学者和专业人士提供帮助。
Python 提供了用于创建基于桌面的应用程序的图形用户界面的标准库 Tkinter。
使用 Python Tkinter 开发基于桌面的应用程序并不是一项复杂的任务。可以通过以下步骤创建一个空的 Tkinter 顶级窗口:
- 导入 Tkinter 模块。
- 创建主应用程序窗口。
- 向窗口添加小部件,如标签、按钮、框架等。
- 调用主事件循环,以便在用户的计算机屏幕上执行操作。
示例
# !/usr/bin/python3
from tkinter import *
#creating the application main window.
top = Tk()
#Entering the event main loop
top.mainloop()
输出:
Tkinter 小部件
有各种小部件,如按钮、画布、复选框、输入框等,用于构建 Python GUI 应用程序。
序号 | 小部件 | 描述 |
---|---|---|
1 | 按钮 | 用于向 Python 应用程序添加各种类型的按钮。 |
2 | 画布 | 画布小部件用于在窗口上绘制画布。 |
3 | 复选框 | 复选框用于在窗口上显示复选框。 |
4 | 输入框 | 输入框小部件用于向用户显示单行文本字段。通常用于接受用户值。 |
5 | 框架] | 可以定义为一个容器,可以向其添加和组织另一个小部件。 |
6 | 标签 | 标签是用于显示有关其他小部件的消息或信息的文本。 |
7 | 列表框 | 列表框小部件用于向用户显示选项列表。 |
8 | 菜单按钮 | 菜单按钮用于向用户显示菜单项。 |
9 | 菜单 | 用于向用户添加菜单项。 |
10 | 消息 | 消息小部件用于向用户显示消息框。 |
11 | 单选按钮 | 单选按钮与复选按钮不同。在这里,用户提供了各种选项,用户只能在其中选择一个选项。 |
12 | 滑块 | 用于向用户提供滑块。 |
13 | 滚动条 | 为用户提供滚动条,以便用户可以上下滚动窗口。 |
14 | 文本 | 与输入框不同,因为它为用户提供了一个多行文本字段,使用户可以在其中编写和编辑文本。 |
14 | 顶级窗口 | 用于创建一个单独的窗口容器。 |
15 | 微调框 | 用于从值选项中进行选择的输入框小部件。 |
16 | 分栏窗口 | 它类似于一个容器小部件,其中包含水平或垂直窗格。 |
17 | 标签框架 | 标签框架是一个充当容器小部件的容器。 |
18 | 消息框 | 此模块用于在基于桌面的应用程序中显示消息框。 |
Python Tkinter 几何学
Tkinter 几何学指定了小部件在显示上的表示方法。Python Tkinter 提供了以下几何学方法。
- pack() 方法
- grid() 方法
- 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 = "Red", fg = "red")
redbutton.pack( side = LEFT)
greenbutton = Button(parent, text = "Black", fg = "black")
greenbutton.pack( side = RIGHT )
bluebutton = Button(parent, text = "Blue", fg = "blue")
bluebutton.pack( side = TOP )
blackbutton = Button(parent, text = "Green", fg = "red")
blackbutton.pack( side = BOTTOM)
parent.mainloop()
输出:
Python Tkinter grid() 方法
grid() 几何管理器以表格形式组织小部件。我们可以在方法调用中指定行和列作为选项。我们还可以指定小部件的列跨度(宽度)或行跨度(高度)。
这是将小部件放置到 Python 应用程序的更有组织的方式。使用 grid() 的语法如下。
语法
widget.grid(options)
可以在 grid() 方法中传递的可能选项的列表如下。
- Column: 小部件要放置的列号。最左边的列由 0 表示。
- Columnspan: 小部件的宽度。它表示扩展列的列数。
- ipadx, ipady: 它表示在小部件边框内部填充小部件的像素数。
- padx, pady: 它表示在小部件边框外部填充小部件的像素数。
- row: 要将小部件放置在的行号。最上面的行由 0 表示。
- rowspan: 小部件的高度,即小部件扩展到的行数。
- Sticky: 如果单元格大于小部件,则使用 sticky 指定小部件在单元格内的位置。它可能是表示小部件位置的 sticky 字母的串联。它可以是 N、E、W、S、NE、NW、NS、EW、ES。
示例
# !/usr/bin/python3
from tkinter import *
parent = Tk()
name = Label(parent,text = "Name").grid(row = 0, column = 0)
e1 = Entry(parent).grid(row = 0, column = 1)
password = Label(parent,text = "Password").grid(row = 1, column = 0)
e2 = Entry(parent).grid(row = 1, column = 1)
submit = Button(parent, text = "Submit").grid(row = 4, column = 0)
parent.mainloop()
输出:
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 = "Name").place(x = 30,y = 50)
email = Label(top, text = "Email").place(x = 30, y = 90)
password = Label(top, text = "Password").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()
输出:
先决条件
在学习 Tkinter 之前,您必须具备 Python 的基本知识。
受众
我们的 Python Tkinter 教程旨在帮助初学者和专业人士。
问题
我们保证您在这个 Tkinter 教程中不会遇到任何问题。但如果有任何错误,请在联系表单中发布问题。