CustomTkinter:给 Python GUI 换个现代皮肤
2026/6/18 14:55:56 网站建设 项目流程

文章目录

  • CustomTkinter:给 Python GUI 换个现代皮肤

CustomTkinter:给 Python GUI 换个现代皮肤

TomSchimansky 开源的 CustomTkinter,在 GitHub 上拿到了 13,396 个 Star:

CustomTkinter 是一个基于 Tkinter 的 Python UI 库。它提供了一套新的 widget,外观现代,且支持深度定制。这些 widget 的创建和使用方式与标准 Tkinter 完全一致,也能和普通 Tkinter 组件混用。

这个库最实用的特性是自动适配系统主题。widget 和窗口颜色会跟随系统外观设置,也可以手动指定为 light 或 dark 模式。同时支持 HighDPI 缩放,在 Windows 和 macOS 上显示清晰。最终效果在各平台保持一致。

安装

通过 pip 直接安装:

pip3 install customtkinter

升级现有版本:

pip3 install customtkinter --upgrade

快速上手

一个只有单个按钮的示例:

importcustomtkinter customtkinter.set_appearance_mode("System")customtkinter.set_default_color_theme("blue")app=customtkinter.CTk()app.geometry("400x240")defbutton_function():print("button pressed")button=customtkinter.CTkButton(master=app,text="CTkButton",command=button_function)button.place(relx=0.5,rely=0.5,anchor=customtkinter.CENTER)app.mainloop()

这段代码在 macOS 上运行的效果是一个居中的现代风格按钮窗口。使用CTkButton替代tkinter.Button,其余逻辑与 Tkinter 没有区别。

核心 widget

CustomTkinter 覆盖了常用 GUI 组件:

  • CTkButton:支持图文混排,通过compound参数控制布局
  • CTkFrame / CTkScrollableFrame:滚动框架支持水平和垂直方向
  • CTkSlider / CTkSwitch / CTkProgressBar:表单控件
  • CTkEntry / CTkTextbox:文本输入
  • CTkComboBox / CTkOptionMenu:下拉选择
  • CTkTabview / CTkSegmentedButton:标签页和分段按钮

所有 widget 都支持主题色配置,内置 blue、dark-blue、green 等预设主题。

与现有生态兼容

由于 CustomTkinter 的 API 设计和 Tkinter 一致,现有项目迁移成本很低。第三方 Tkinter widget(如 TkinterMapView)也能直接嵌入使用,不会破坏整体视觉风格。

适用场景

如果你正在用 Python 写桌面工具,又不想被 Tkinter 的默认外观限制,CustomTkinter 是一个直接的替换方案。学习曲线平缓,代码改动量小,效果提升明显。

工具,又不想被 Tkinter 的默认外观限制,CustomTkinter 是一个直接的替换方案。学习曲线平缓,代码改动量小,效果提升明显。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询