CustomTkinter是一个基于Tkinter的Python UI库,提供新的、现代化且完全可定制的小部件。这些小部件的创建和使用方式与普通Tkinter小部件相同,也可以与普通Tkinter元素组合使用。小部件和窗口颜色可以自动适应系统外观或手动设置的模式("浅色"、"深色"),所有CustomTkinter小部件和窗口都支持高DPI缩放(Windows、macOS)。使用CustomTkinter,您可以在所有桌面平台(Windows、macOS、Linux)上获得一致且现代化的外观。
| Windows 11上的complex_example.py
,使用深色模式和"蓝色"主题
| macOS上的complex_example.py
,使用浅色模式和标准"蓝色"主题
安装
使用pip安装模块:
pip3 install customtkinter
更新现有安装: pip3 install customtkinter --upgrade
(由于该库正在积极开发中,请尽可能频繁地更新)
文档
官方文档可以在这里找到:
**➡️ https://customtkinter.tomschimansky.com/documentation**。
示例程序
要测试customtkinter,您可以尝试这个只有一个按钮的简单示例:
import customtkinter
customtkinter.set_appearance_mode("System") # 模式:系统(默认)、浅色、深色
customtkinter.set_default_color_theme("blue") # 主题:蓝色(默认)、深蓝色、绿色
app = customtkinter.CTk() # 创建CTk窗口,就像创建Tk窗口一样
app.geometry("400x240")
def button_function():
print("按钮被点击")
# 使用CTkButton代替tkinter Button
button = customtkinter.CTkButton(master=app, text="CTkButton", command=button_function)
button.place(relx=0.5, rely=0.5, anchor=customtkinter.CENTER)
app.mainloop()
这将在macOS上生成以下窗口:
在examples文件夹中,您可以找到更多示例程序,在文档中,您可以找到有关外观模式、缩放、主题和所有小部件的更多信息。
更多示例和展示
外观模式变更和缩放变更
CustomTkinter可以适应Windows 10/11的浅色或深色模式:
| Windows 11上的complex_example.py
,使用系统外观模式变更和标准"蓝色"主题
在macOS上,您需要使用python3.10或更高版本,或者使用anaconda Python版本才能获得深色窗口标题(需要Tcl/Tk >= 8.6.9):
| macOS上的complex_example.py
,使用系统外观模式变更、用户缩放变更和标准"蓝色"主题
带图像的按钮
可以在CTkButton上放置图像。您只需要使用image
参数将PhotoImage对象传递给CTkButton。如果您不想要任何文本,可以设置text=""
,或者使用compound
选项指定文本和图像的位置:
| Windows 11上的image_example.py
可滚动框架
可滚动框架可以是垂直或水平方向,并且可以与任何其他小部件组合使用。
| Windows 11上的scrollable_frame_example.py
集成TkinterMapView小部件
在以下示例中,我使用了TkinterMapView,它与CustomTkinter程序很好地集成。它是一个基于瓦片的地图小部件,可以显示OpenStreetMap或其他基于瓦片的地图:
| Windows 11上的TkinterMapView存储库中的examples/map_with_customtkinter.py
您可以在这里找到TkinterMapView库和示例程序: https://github.com/TomSchimansky/TkinterMapView