本文概述
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 | Widget | Description |
---|---|---|
1 | Button | Button用于将各种按钮添加到python应用程序。 |
2 | Canvas | canvas小部件用于在窗口上绘制画布。 |
3 | Checkbutton | CheckButton用于在窗口上显示CheckButton。 |
4 | Entry | 输入窗口小部件用于向用户显示单行文本字段。它通常用于接受用户值。 |
5 | Frame | 可以将其定义为可以向其添加和组织另一个小部件的容器。 |
6 | Label | 标签是用于显示有关其他窗口小部件的某些消息或信息的文本。 |
7 | ListBox | ListBox小部件用于向用户显示选项列表。 |
8 | 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应用程序中的positions小部件可以通过使用方法调用中指定的各种选项来控制。
但是, 控件较少, 并且通常以组织较少的方式添加了小部件。
下面给出了使用pack()的语法。
句法
widget.pack(options)
下面给出了可以在pack()中传递的可能选项的列表。
- expand:如果将expand设置为true, 则窗口小部件将展开以填充任何空间。
- 填充:默认情况下, 填充设置为”无”。但是, 我们可以将其设置为X或Y来确定小部件是否包含任何额外的空间。
- 大小:它表示窗口小部件将放置在其父对象的一侧。
例子
# !/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()方法内传递的可能选项的列表。
- 柱
放置小部件的列号。最左边的列用0表示。 - 列跨度
小部件的宽度。它代表列扩展到的列数。 - ipadx, ipad
它表示在小部件边框内填充小部件的像素数。 - Padx, 护垫
它表示将小部件填充到小部件边界之外的像素数。 - 行
放置小部件的行号。最上面的行用0表示。 - 行跨
小部件的高度, 即小部件扩展到的行数。 - 黏
如果单元格大于窗口小部件, 则使用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)
下面列出了可能的选项。
- 锚点:它表示窗口小部件在容器中的确切位置。默认值(方向)为NW(左上角)
- bordermode:边框类型的默认值为INSIDE, 它表示忽略边框内部的父对象。另一个选项是OUTSIDE。
- 高度, 宽度:指像素的高度和宽度。
- relheight, relwidth:表示为0.0到1.0之间的浮点数, 表示父级的高度和宽度的分数。
- relx, depend:表示为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教程中找到任何问题。但是, 如果有任何错误, 请在联系表格中发布问题。
评论前必须登录!
注册