tkinter 一款用于创建图形界面(GUI)的库
在Python中,tkinter 模块是一个用于创建图形界面(GUI)的库,它提供了创建窗口、按钮、文本框等GUI组件的功能。tkinter 是 Python 的标准 GUI 库,它最初是基于 Tk GUI 工具包,但现在已经发展成为 Python 的一个内置模块。
import tkinter as tk
# 创建主窗口
root = tk.Tk()
# 设置窗口标题
root.title("十一剑的CS_DN.博客 - Tkinter入门")
# 设置窗口大小(宽x高)
root.geometry("300x200")
# 创建一个标签组件
label = tk.Label(root, text="欢迎来到十一剑的CS_DN.博客")
# 将标签放置到窗口上
label.pack()
# 进入主事件循环
root.mainloop()
tkinter的组件有以下这些,
Label:标签控件,用来在窗口上显示文本和图片
Message:消息控件,用来显示多行文本,与Label功能类似
Button:按钮控件,用户可以点击按钮,点击事件将会传递给设置的回调函数
Entry:文本输入框控件,用户可以输入文字,但只能在一行输入
Text:多行文本输入框控件,用户可以输入多行文字,自由换行
Canvas:画布控件,可以在上面显示基本图形、文字、图片
Frame:框架控件,作为一个小容器,相当于给组件分组。
LabelFrame:文字框架控件,和Frame不同的是,框架外面多了文本提示
Menu:菜单控件,在窗口上显示菜单,或定义弹出式菜单。
Menubutton:菜单按钮控件,是Button的样子,点击后弹出一个菜单。
Checkbutton:多选按钮,用户可以勾选或取消勾选。
Radiobutton:单选按钮,用户可以在同类的Radiobutton中选择一个,无法取消勾选
Listbox:列表框组件,可以显示一个字符串的列表
Scrollbar:滚动条控件,用来添加一个滚动条控制滚动
Scale:尺度条控件,用来添加一个数字滑块,用户可以滑动调整数值。
Spinbox:数字选值框控件,用户既可以输入数字,也可以按调节按钮调整数值。
OptionMenu:选项菜单,用户可以从下拉菜单中选择一个值,但是不能自己输入。
PanedWindow:分栏容器控件,和Frame类似,但是有更多的功能设定,比如用户可以调节大小
Toplevel:上层窗口控件,可以定义某个窗口的子窗口。
tkinter还有一些子模块,如ttk,messagebox,colorchooser,filedialog等。
ttk中有一些扩展组件,里面有一些和主模块一样的控件,但是样子要不同。ttk有一个最大的特点,组件的字体、颜色等功能不能直接修改,而是要用ttk.Style形式修改,后期会讲述。而tkinter主模块中可以直接指定组件的颜色、字体等样式。所以,如果在from tkinter import *后继续导入from tkinter.ttk import *,就会覆盖tkinter.ttk与tkinter主模块中相同的组件,要改变字体和颜色只能使用Style的形式。这一点千万不能弄错。
tkinter.ttk的扩展组件有:
Combobox:组合选择框控件,用户可以自己在输入框中输入内容,也可以在下拉列表中选择。
Notebook:笔记本控件,添加多个Frame选项卡,用户可以在不同选项卡之间切换。
Progressbar:进度条控件,显示一个加载时的进度条
Separator:分割线控件,显示一条垂直或水平的分割线。
Treeview:树状图控件,显示一个表格或是树状图。
Sizegrip:尺寸调整控件,显示一个调整窗口尺寸的按钮。
进阶使用
在 tkinter 中,你还可以使用 grid() 和 place() 方法来更灵活地布局组件。例如:
label = tk.Label(root, text="Hello, Tkinter!") label.grid(row=0, column=0) # 使用 grid 方法布局,指定行列位置 或者:
entry = tk.Entry(root) entry.place(x=50, y=50) # 使用 place 方法布局,指定具体位置 这些方法提供了比 pack() 方法更细致的布局控制能力。选择哪种布局方式取决于你的具体需求。
参考: https://zhuanlan.zhihu.com/p/719822538
https://blog.csdn.net/qq_48979387/article/details/125706562

浙公网安备 33010602011771号