Python Tkinter教程

Python Tkinter教程

Python Tkinter教程

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

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

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

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

示例

# !/usr/bin/python3
from tkinter import *
#creating the application main window. 
top = Tk()
#Entering the event main loop
top.mainloop()

输出:

Python Tkinter教程

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提供了以下几何方法:

  1. The pack() 方法
  2. The grid() 方法
  3. 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教程

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教程

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()

输出:

Python Tkinter教程

前提条件

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

受众

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程