CustomTkinter 入门与实战指南
CustomTkinter 是一个基于 Python Tkinter 的现代化 UI 库。它在保留 Tkinter 简单语法的同进,提供了圆角按钮、深色模式自动适配以及高 DPI 支持等现代桌面应用特性。相比 PyQt 等重型框架,它更轻量且上手更快。
环境准备
通过 pip 即可快速安装:
pip install customtkinter
如需更新到最新版,可添加 --upgrade 参数。
基础示例
创建一个带有深色主题的窗口并不复杂。下面这段代码展示了如何初始化主窗口并添加一个居中的按钮:
import customtkinter
# 配置全局外观
customtkinter.set_appearance_mode("System")
customtkinter.set_default_color_theme("blue")
# 实例化主窗口
app = customtkinter.CTk()
app.geometry("300x200")
app.title("Demo")
def on_click():
print("按钮被点击了")
btn = customtkinter.CTkButton(
master=app,
text="点击我",
command=on_click
)
btn.place(relx=0.5, rely=0.5, anchor=customtkinter.CENTER)
app.mainloop()
注意这里使用了 place 配合相对坐标来居中组件,这在布局调整时比较灵活。
常用组件概览
CustomTkinter 封装了许多原生 Tkinter 没有的样式组件:
- CTkButton:支持悬停动画和圆角设计。
- CTkEntry:输入框,支持密码掩码和占位符。
- CTkTabview:选项卡视图,适合多页面切换。
- CTkScrollableFrame:可滚动容器,处理长列表内容。
实战:侧边栏图片管理器
实际项目中,我们通常需要更复杂的布局。以下是一个包含侧边导航和主内容区的示例结构:
import customtkinter
class ImageManager(customtkinter.CTk):
def __init__(self):
super().__init__()
self.title("图片管理器")
self.geometry()
.create_sidebar()
.create_main_area()
():
sidebar = customtkinter.CTkFrame(, width=)
sidebar.pack(side=, fill=)
customtkinter.CTkButton(sidebar, text=).pack(pady=)
customtkinter.CTkButton(sidebar, text=).pack(pady=)
customtkinter.CTkButton(sidebar, text=).pack(pady=)
():
main_frame = customtkinter.CTkFrame()
main_frame.pack(side=, expand=, fill=)
tabview = customtkinter.CTkTabview(main_frame)
tabview.pack(expand=, fill=, padx=, pady=)
tabview.add()
tabview.add()
tabview.add()
__name__ == :
app = ImageManager()
app.mainloop()

