Tkinter教程,提供了Python Tkinter的基本和高级概念。我们的Tkinter教程是为初学者和专业人士设计的。
Python提供了标准库Tkinter,用于为基于桌面的应用程序创建图形用户界面。
用Python Tkinter开发基于桌面的应用程序并不是一项复杂的任务。通过以下步骤可以创建一个空的Tkinter顶层窗口。
- 导入Tkinter模块。
- 创建主程序窗口。
- 将标签、按钮、框架等小工具添加到窗口。
- 调用主事件循环,这样就可以在用户的电脑屏幕上进行操作。
Python Tkinter 示例
# !/usr/bin/python3
from tkinter import *
#creating the application main window.
top = Tk()
#Entering the event main loop
top.mainloop()
输出:
Python Tkinter 小部件
有各种各样的部件,如按钮、画布、检查按钮、条目等,用于建立python GUI应用程序。
SN | 小部件 | 描述 |
---|---|---|
1 | Button | 按钮用于在Python应用程序中添加各种类型的按钮。 |
2 | Canvas | 画布小组件用于在窗口上绘制画布。 |
3 | Checkbutton | Checkbutton是用来在窗口上显示CheckButton的。 |
4 | Entry | Entry小部件用于向用户显示单行文本字段。它通常用于接受用户的数值。 |
5 | Frame | 它可以被定义为一个容器,另一个小部件可以被添加和组织到其中。 |
6 | Label | 标签是用来显示一些信息或其他小工具的信息的文本。 |
7 | ListBox | ListBox小组件用于向用户显示一个选项列表。 |
8 | Menubutton | Menubutton用于向用户显示菜单项。 |
9 | Menu | 它用来向用户添加菜单项。 |
10 | Message | 消息小组件用于向用户显示消息框。 |
11 | Radiobutton | 辐射按钮与复选按钮不同。在这里,用户被提供了各种选项,用户只能在其中选择一个选项。 |
12 | Scale | 它用于为用户提供滑块。 |
13 | Scrollbar | 它为用户提供了滚动条,这样用户就可以向上和向下滚动窗口。 |
14 | Text | 它与Entry不同,因为它为用户提供了一个多行文本字段,这样用户就可以写文本并在其中编辑文本。 |
14 | Toplevel | 它被用来创建一个单独的窗口容器。 |
15 | Spinbox | 它是一个用于从值的选项中进行选择的入口部件。 |
16 | PanedWindow | 它就像一个包含水平或垂直窗格的容器小部件。 |
17 | LabelFrame | 一个LabelFrame是一个容器部件,它作为容器 |
18 | MessageBox | 该模块用于在基于桌面的应用程序中显示消息框。 |
Python Tkinter 几何图形
Tkinter的几何方法指定了小部件在显示时使用的方法。python Tkinter提供了以下几何方法。
- pack()方法
- grid()方法
- place()方法
让我们来详细讨论一下它们中的每一个。
Python Tkinter pack() 方法
pack()小部件用于组织区块中的小部件。使用pack()方法添加到python应用程序中的widget的位置可以通过使用方法调用中指定的各种选项来控制。
然而,控制的内容较少,而且小部件通常是以较少的组织方式添加的。
下面给出了使用pack()的语法。
Python Tkinter pack() 方法 语法
widget.pack(options)
下面给出了可以在pack()中传递的可能选项的列表。
- expand: 如果expand被设置为true,小组件就会扩展以填充任何空间。
- Fill: 默认情况下,填充被设置为NONE。然而,我们可以把它设置为X或Y,以确定该小组件是否包含任何额外的空间。
- size:它代表小部件在窗口上要被放置的父体的边。
Python Tkinter pack() 方法 示例
# !/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()
Output:
Python Tkinter grid() 方法
grid()几何管理器以表格的形式组织部件。我们可以在方法调用中指定行和列作为选项。我们还可以指定一个部件的列跨度(宽度)或行跨度(高度)。
这是一种更有组织的方式来放置widget到python应用程序中。下面给出了使用grid()的语法。
Python Tkinter 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。
Python Tkinter grid() 方法 示例
# !/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()
Output:
Python Tkinter place() 方法
place()几何管理器将小部件组织到特定的x和y坐标上。
Python Tkinter place() 方法 语法
widget.place(options)
下面列出了可能的选择清单。
- Anchor: 它代表小部件在容器中的确切位置。默认值(方向)是NW(左上角)。
- bordermode: 边界类型的默认值是INSIDE,指的是忽略父级的内边界。另一个选项是 OUTSIDE。
- height, width: 它指的是高度和宽度,单位为像素。
- relheight, relwidth: 它表示为0.0和1.0之间的浮动,表示父体的高度和宽度的分数。
- relx, rely: 它表示为0.0和1.0之间的浮点数,是水平和垂直方向上的偏移。
- x, y: 它指的是像素中的水平和垂直偏移。
Python Tkinter place() 方法 示例
# !/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()
Output:
前置条件
在学习Tkinter之前,你必须有Python的基本知识。
教程对象
我们的Python Tkinter教程是为了帮助初学者和专业人士。