CustomTkinter:给 Python GUI 换个现代皮肤

CustomTkinter:给 Python GUI 换个现代皮肤

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

正文顶部截图

README区域截图

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

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

安装

通过 pip 直接安装:

pip3 install customtkinter

升级现有版本:

pip3 install customtkinter --upgrade

快速上手

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

import customtkinter

customtkinter.set_appearance_mode("System")
customtkinter.set_default_color_theme("blue")

app = customtkinter.CTk()
app.geometry("400x240")

def button_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 是一个直接的替换方案。学习曲线平缓,代码改动量小,效果提升明显。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值