CustomTkinter:【三】颜色和主题、外观模式、缩放、包装

GitHub地址: https://github.com/TomSchimansky/CustomTkinter
官网: https://customtkinter.tomschimansky.com/
官方教程文档:https://customtkinter.tomschimansky.com/documentation/

1、颜色和主题

可以自定义小部件的所有颜色,可以在特定小部件的文档中找到适当的参数。注意 bg_c​​olor 只是小部件后面的颜色,如果它有圆角的话。小部件的主要颜色称为 fg_color:
在这里插入图片描述
颜色可以设置为单个颜色名称 ( “red”)、单个十六进制颜色字符串 ( “#FF0000”) 或用于亮模式颜色和暗模式颜色的元组颜色 ( (“red”, “darkred”))。然后小部件将根据当前外观模式自动选择当前颜色。因此,通过使用元组颜色,小部件可以在浅色和深色外观模式下具有不同的颜色。如果您使用单一颜色,那么该颜色将同时用于浅色和深色外观模式。

例子:

button = customtkinter.CTkButton(root_tk, fg_color="red")  # single color name
button = customtkinter.CTkButton(root_tk, fg_color="#FF0000")  # single hex string
button = customtkinter.CTkButton(root_tk, fg_color=("#DB3E39", "#821D1A"))  # tuple color

默认情况下,所有颜色都由颜色主题设置。目前提供三个主题:“blue”,“dark-blue"和"green”,其中“蓝色”是标准主题。所有主题都为浅色和深色外观模式提供元组颜色。

您可以在编程开始时设置主题,如下所示:

customtkinter.set_default_color_theme("dark-blue")  # Themes: "blue" (standard), "green", "dark-blue"

自定义
主题由 .json 文件描述,如下所示:dark-blue.json。您还可以创建自己的主题,这样您就不必手动为每个小部件设置样式。只需复制上面的 .json 文件并更改值。然后,您可以通过将 .json 文件的路径传递给方法来加载新主题.set_default_color_theme:
dark-blue.json文件地址https://github.com/TomSchimansky/CustomTkinter/blob/master/customtkinter/assets/themes/dark-blue.json

customtkinter.set_default_color_theme("path/to/your/custom_theme.json")

2 、外观模式

如果颜色被指定为元组颜色,外观模式决定从元组颜色中选取哪种颜色。您可以随时使用以下命令设置外观模式:

customtkinter.set_appearance_mode("system")  # default
customtkinter.set_appearance_mode("dark")
customtkinter.set_appearance_mode("light")

如果将外观模式设置为"system",则会从操作系统读取当前模式。如果操作系统的外观模式在程序运行期间发生变化,它也会适应。“light"请注意,在 Linux 上,如果设置为,它将始终处于模式"system”,因为目前无法从操作系统读取模式,这可能会在未来实现。

3 、缩放

高DPI
CustomTkinter 默认支持 macOS 和 Windows 上的 HighDPI 缩放。在 macOS 上,缩放自动适用于 Tk 窗口。在 Windows 上,应用可识别 DPI ( windll.shcore.SetProcessDpiAwareness(2)) 并检测显示器的当前比例因子。然后 CustomTkinter 按此因子缩放每个元素和窗口尺寸。
在这里插入图片描述
您可以像这样停用此自动缩放:

customtkinter.deactivate_automatic_dpi_awareness()

然后窗口在缩放值超过 100% 的 Windows 上会变得模糊。

自定义
除了自动检测的比例因子外,您还可以为应用程序设置自己的比例因子,如下所示:

customtkinter.set_widget_scaling(float_value)  # widget dimensions and text size
customtkinter.set_window_scaling(float_value)  # window geometry dimensions

4、包装

Windows PyInstaller(自动 Py 到 Exe
当您使用 pyinstaller 在 Windows 上创建 .exe 时,您必须考虑两件事。首先,你不能使用–onefilepyinstaller选项,因为customtkinter库不仅包含.py文件,还包含.json和.otf等数据文件。PyInstaller 无法将它们打包到单个 .exe 文件中,因此您必须使用该–onedir选项。

其次,您必须使用–add-datapyinstaller 选项手动包含 customtkinter 目录。因为出于某种原因,pyinstaller 不会自动包含库中的 .json 等数据文件。您可以使用以下命令找到 customtkinter 库的安装位置:

pip show customtkinter

将显示一个位置,例如:c:\users<user_name>\appdata\local\programs\python\python310\lib\site-packages

然后像这样添加库文件夹:–add-data “C:/Users/<user_name>/AppData/Local/Programs/Python/Python310/Lib/site-packages/customtkinter;customtkinter/”

使用 Auto Py to Exe 你会这样做:
在这里插入图片描述
对于完整的命令,你会得到这样的东西:

pyinstaller --noconfirm --onedir --windowed --add-data "<CustomTkinter Location>/customtkinter;customtkinter/"  "<Path to Python Script>"
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值