Python Tkinter教程
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应用程序。
SN | 小部件 | 描述 |
---|---|---|
1 | Button | 按钮用于向Python应用程序添加各种类型的按钮。 |
2 | Canvas | 画布小部件用于在窗口上绘制画布。 |
3 | Checkbutton | 复选框用于在窗口上显示复选框。 |
4 | Entry | 文本框小部件用于向用户显示单行文本字段。常用于接受用户值。 |
5 | Frame | 可以定义为一个容器,可以向其添加和组织另一个小部件。 |
6 | Label | 标签用于显示其他小部件的一些消息或信息。 |
7 | ListBox | 列表框小部件用于向用户显示一系列选项。 |
8 | Menubutton | 菜单按钮用于向用户显示菜单项。 |
9 | Menu | 用于向用户添加菜单项。 |
10 | Message | 消息小部件用于向用户显示消息框。 |
11 | Radiobutton | 单选按钮与复选按钮不同。在这里,用户提供了多个选项,用户只能选择其中一个选项。 |
12 | Scale | 它用于向用户提供滑块。 |
13 | Scrollbar | 它向用户提供滚动条,以便用户可以在窗口中上下滚动。 |
14 | Text | 它与输入框不同,因为它向用户提供多行文本字段,使用户能够在其中编写和编辑文本。 |
15 | Toplevel | 用于创建一个独立的窗口容器。 |
16 | Spinbox | 它是一个用于从数值选项中选择的输入部件。 |
17 | PanedWindow | 它类似于一个容器部件,包含水平或垂直面板。 |
18 | LabelFrame | 一个标签框架是一种作为容器的容器部件 |
19 | MessageBox | 这个模块用于在基于桌面的应用程序中显示消息框。 |
Python Tkinter Geometry
Tkinter的几何方法用于在显示器上显示小部件。Python Tkinter提供了以下几何方法:
- The pack() 方法
- The grid() 方法
- The 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() 方法
The 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教程旨在帮助初学者和专业人士。