Python Tkinter – 教程

Tkinter教程,提供了Python Tkinter的基本和高级概念。我们的Tkinter教程是为初学者和专业人士设计的。

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

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

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:
Python Tkinter教程

前置条件

在学习Tkinter之前,你必须有Python的基本知识。

教程对象

我们的Python Tkinter教程是为了帮助初学者和专业人士。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程