快速开始
import tkinter as tk
# 创建窗口
window = tk.Tk()
# 设置标题
window.title('第一个GUI程序')
# 开启窗口
window.mainloop()
设置窗口大小
window.geometry('宽x高+距离左边像素+距离上面像素')
# 距离左边或上面可以不写
设置窗口锁定不允许缩放
window.resizeable(False,Flase) 第一个是宽,第二个是高是否允许缩放 默认都是True
设置窗口图标
window.iconbitmap(图片地址)
设置窗口背景颜色
window.configure(bg='red')
设置窗口透明度
window.attributes('-alpha', 0.5) 第二个参数是透明度,0-1,1不透明
窗口关闭触发函数
window.protocol('WM_DELETE_WINDOW', funcName)
# 销毁窗口
window.destroy()
组件
-
标签语句
tk.Label(window, text='第一个标签', font=('宋体', 字体尺寸一个int值, fg=('文字颜色'), bg = ('背景颜色')).pack() # .pack() 把元素布局上 -
布局
pack() # 系统自动给你填充 palce(x = , y = ) # 自定义在窗口的绝对位置,x 距离窗口左侧,y距离窗口上方 grid(row = , col = ) # 自定义第几行第几列 -
输入框 & 获取输入框的字符串
tk.Entry(window, width=一个int值, font=()) # 创建tk字符串变量 s1 = tk.StringVar() tk.Entry(window, textvariable=s1, .....) s1.set() # 设置值 s1.get() # 获取值 -
按钮
tk.Button(window, text="按钮文字", font=(), width=宽度值, command='绑定的函数') -
弹窗
import tkinter as tk from tkinter import messagebox # 四种弹窗 messagebox.showerror('标题','提示信息') messagebox.showinfo('标题','提示信息') messagebox.showwarning('标题','提示信息')# 第四种上图 is_ok = messagebox.askokcancel('标题','提示信息') # 如果点击确认 is_ok 值为True 否则 为 false -
内部页面 # 可以用按钮去绑定函数触发,使用方法和Tk()一样,创建语法不同 a2 = Toplevel()
菜单
# 创建主菜单
c = tk.Menu(window)
# 设置菜单名
c.add_cascade(label='员工', command='')
# 开启菜单栏
window.config(menu=c)
- 下级菜单
x = tk.Menu(c, tearoff=0) # 第二个参数取消撕开按钮
# 设置
x.add_command(label='Name', command='绑定函数')
# 绑定
c.add_cascade(lable='员工', mune=x)
下拉选择框
# 导包
from tkinter.ttk import Combobox
value = StringVar()
v = ['1', '2', '3', '4', '5'] # 下拉列表的选择,只能是字符串类型的列表
c = Combobox(window, state='readonly', textvariable=value, values=v, .... 其他设置).pack()
# 只读设置
state='readonly'
# 设置默认下拉索引
c.current(0) # 默认选择0号索引位置
单选框
s2 = StringVar()
tk.Radiobutton(window, text='男', variable=s2, value='男')
tk.Radiobutton(window, text='男', variable=s2, value='女')
# 初始时不设置默认的s2值都会被选上,初始可以给s2设置其中一个value值
多选框
tk.Checkbutton(window, text='',variable=, onvalue=1, offvalue=0)
# 当用户选择为1,用户没有选择为0
# variable绑定的变量
列表框
lb = tk.Listbox(window, font=(), width=宽度, height=长度)
# 追加元素
from tkinter import END
lb.insert(END, '123')