1、学习资料:
官方文档:
https://docs.python.org/zh-tw/3.12/library/tkinter.html
CSDN
主题 皮肤
ttkbootstrap.readthedocs.io/en/latest/
github.com/rdbende/Sun-Valley-ttk-theme
2、首个例子 Hello World!
from tkinter import *
from tkinter import ttk
root = Tk()
frm = ttk.Frame(root, padding=10)
frm.grid()
ttk.Label(frm, text="Hello World!").grid(column=0, row=0)
ttk.Button(frm, text="Quit", command=root.destroy).grid(column=1, row=0)
root.mainloop()
pip install sv-ttk
from tkinter import *
from tkinter import ttk
import sv_ttk
root = Tk()
frm = ttk.Frame(root, padding=10)
frm.grid()
ttk.Label(frm, text="Hello World!").grid(column=0, row=0)
ttk.Button(frm, text="Quit", command=root.destroy).grid(column=1, row=0)
sv_ttk.set_theme("dark")
root.mainloop()
python -m pip install ttkbootstrap
https://ttkbootstrap.readthedocs.io/en/latest/gallery/
import ttkbootstrap as ttk
from ttkbootstrap.constants import *
root = ttk.Window(themename="superhero")
b1 = ttk.Button(root, text="Submit", bootstyle="success")
b1.pack(side=LEFT, padx=5, pady=10)
b2 = ttk.Button(root, text="Submit", bootstyle="info-outline")
b2.pack(side=LEFT, padx=5, pady=10)
root.mainloop()
3、资料总览
1 tk模块和ttk模块的组件和功能
2 组件中常用的参数及其功能
3 组件的常用方法及其作用
4 tkinter中常用的事件类型
4、案例
1 文件对话框
from tkinter import *
from tkinter import filedialog as fd
from tkinter import ttk
import sv_ttk
class MyApp(Tk):
"""继承Tk,创建自己的桌面应用程序类"""
def __init__(self):
"""构造函数"""
super().__init__()
self.title('文件对话框')
# self.iconbitmap('res/Tk.ico')
self.init_ui()
def init_ui(self):
"""初始化界面"""
info = StringVar()
info.set('')
f = ttk.Frame(self)
f.pack(padx=20, pady=10)
ttk.Button(f, text='选择文件', command=lambda :info.set(fd.askopenfilename(title='选择文件'))).pack(side=LEFT, padx=10)
ttk.Button(f, text='选择目录', command=lambda :info.set(fd.askdirectory(title='选择目录'))).pack(side=LEFT, padx=10)
ttk.Button(f, text='保存文件', command=lambda :info.set(fd.asksaveasfilename(title='保存文件', defaultextension='.png'))).pack(side=LEFT, padx=10)
ttk.Label(f, textvariable=info).pack(expand='yes', fill='x', padx=5, pady=20)
if __name__ == '__main__':
app = MyApp()
sv_ttk.set_theme("dark")
app.mainloop()
2
。。。