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

news2024/11/26 22:49:17

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

目录

    • 1、颜色和主题
    • 2 、外观模式
    • 3 、缩放
    • 4、包装

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>"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/551539.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023/5/21周报

目录 摘要 论文阅读 1、标题和现存问题 2、各个结构 3、基于GNN-LSTM-CNN 网络轨迹预测模型 4、实验准备 5、实验结果 深度学习 1、费舍尔判别 2、步骤具体化 3、GCN 总结 摘要 本周在论文阅读上&#xff0c;阅读了一篇基于GNN-LSTM-CNN网络的6G车辆轨迹预测算法的…

git pull报没有足够内存 not enough memory for initialization

git clone 或 git pull 批量同步远程 git仓库代码时&#xff0c;报 没有足够内存用于初始化 not enough memory for initialization。经过观察 资源管理器 的内存使用情况&#xff0c;发现为 剩余可用内存不足造成的。加物理内存麻烦&#xff0c;可通过适当调整 分页文件&…

chatgpt赋能Python-pythoncom安装

Pythoncom安装指南 如果你是一位Python编程的爱好者或专业工程师&#xff0c;那么你可能会需要使用Pythoncom库。Pythoncom是Python与COM技术相互操作的重要组件&#xff0c;它可以帮助你实现各种Windows应用程序与Python之间的无缝集成。 什么是Pythoncom Pythoncom是Pytho…

电商项目9:新增商品

电商项目9&#xff1a;新增商品 1、前端1.1、修复前端组件通信问题1.2、引入其他前端代码1.3、会员等级列表1.4、当前分类关联的所有品牌 2、后端2.1、会员系统搭建&#xff08;注册与发现&#xff09;2.2、当前分类关联的所有品牌2.3、获取分类下所有分组&关联属性 1、前端…

网上书店管理系统

系列文章 任务46 网上书店管理系统 文章目录 系列文章一、实践目的与要求1、目的2、要求 二、课题任务三、总体设计1.存储结构及数据类型定义2.程序结构3.所实现的功能函数4、程序流程图 四、小组成员及分工五、 测试添加新的图书购买信息显示所有图书购买信息按购买编号查找图…

软件测试—Selenium01

软件测试—Selenium01 &#x1f50e;自动化测试自动化测试的定义自动化测试的分类 &#x1f50e;SeleniumSelenium 是什么Selenium 的特点Selenium 的原理Selenium Java 的环境搭建Selenium 中常用的 APIBy.cssSelector()By.xpath()By.cssSelector() 与 By.xpath() 的比较 &am…

C++编译和链接

目录 一、源代码的组织 ①头文件&#xff08;*.h&#xff09; ②源文件&#xff08;*.cpp&#xff09; ③主程序&#xff08;main函数所在的程序&#xff09; ④从源代码到可执行文件&#xff0c;编译的过程有三大步骤&#xff1a; 1&#xff09;编译预处理 2&#xff09…

Python学习笔记——《吴恩达Machine Learning》线性回归例程

文章目录 案例背景线性回归&#xff08;Loss Regression&#xff09;梯度下降法&#xff08;批量梯度下降算法——batch gradient descent&#xff09;计算成本函数和梯度下降使用线性回归拟合训练数据模型预测 梯度下降效果可视化完整版demo 案例背景 详情参照吴恩达机器学习…

Linux/Windows安装Maven

一、Linux部署Maven 注意&#xff1a;必须先安装jdk&#xff0c;maven与jdk&#xff08;java -version&#xff09;版本会有对应关系 版本对应&#xff08;必看&#xff01;&#xff09;&#xff1a;http://maven.apache.org/docs/history.html 官方tar包下载地址&#xff1a;h…

因为一个Bug,差点损失了100w

大家好&#xff0c;我是洋子 最近在做单接口的性能测试比较多&#xff0c;在压测过程发现了一个比较有意思的问题&#xff0c;拿出来和大家分享一下 背景是这样的&#xff0c;最近在搞线上的抽奖活动&#xff0c;压测的对象是一个抽奖接口&#xff0c;主要的逻辑见程序的流程…

Spring ioc容器

Spring ioc容器 导入 spring 容器包 使用 ioc 容器之前&#xff0c;需要先导入 Spring 的包 在 spring maven中下载 spring maven 网址:Maven Repository: spring (mvnrepository.com) 搜索 spring 找到 Spring Web MVC点击 spring-webmvc 进入 选择一个版本号点击&#x…

Ocean Optics USB2000光谱仪无法在Win10系统运行

1、问题描述 USB2000型光谱仪&#xff0c;由于生产年代过于久远&#xff0c;虽然能被Win10系统识别&#xff0c;但是驱动程序安装完成后依然报错&#xff0c; 提示&#xff1a;该设备无法启动。&#xff08;代码 10&#xff09; 请求USB BOS 描述符失败。 运行SpectraSuite软件…

ETLCloud社区版与Kettle对比分析

ETLCloud社区版本与Kettle社区版本都有什么优势和劣势? Pentaho Data Integration&#xff08;PDI&#xff09;&#xff0c;也称为Kettle&#xff0c;是一款开源的数据集成工具,国内有很多企业都选择kettle作为数据清洗工具。以下是kettle的主要特点和优势&#xff1a; 广泛的…

python 绘制箱型图一些技巧

引言 本篇是之前有一个需求&#xff0c;需要用python来画箱型图&#xff0c;但要求很多&#xff0c;所以我也不断再版&#xff0c;今天突然想起来这个东西可以总结一下&#xff0c;正好马上得思考下一步做啥了&#xff0c;有足够的空闲时间&#xff0c;所以准备把一些基础概念…

【笔试强训day48】顺时针打印矩阵、左右最值最大差

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: 笔试强训专栏 笔试强训 目录 文章目录 一、选择题 1.1 10.1.0.1/17的广播地址是&#xff08; &#xff09; 1.2 网络地址172.16.22.38/28 请写出此地址的子网ID以及广播地址&#xff0c;此地址所处子网…

[2019“好贷杯“风控能力挑战赛一等奖] 基于神经网络算法的A股市场多因子选股的研究

本论文为 “2019年中国高校风险管理与控制能力挑战赛” 实际参赛作品&#xff0c;获得一等奖。 本论文体现了较好的数学建模思想和写作&#xff0c;所以将论文和完整代码进行了开源&#xff0c;方便与大家交流。

NetSuite SuiteTax之中国影响

这篇是还账。3个月前林师傅给的一个题目&#xff0c;陆陆续续的学习&#xff0c;一直没有弄完&#xff0c;直到今朝。 SuiteTax是2018年GA的一个重大功能&#xff0c;是NetSuite面向国际市场的一个标志动作。它将过去以美国为中心的税务功能&#xff0c;转向为国际市场服务。只…

xhs-xs webmsxyw分析

近期又更新了&#xff0c;先是改了x-s生成&#xff0c;然后又加上了a1校验。 后面可能会全参校验&#xff0c;比如再加上gid、deviceId、profileData、x-s-common、smidV2之类。 估计以后不能写xhs了&#xff0c;大家且看且珍惜吧。之前相关的文章都被下架了 危&#xff01;…

C语言扫雷小游戏

扫雷小游戏 一&#xff0c;扫雷游戏的理解和整体思路1. 扫雷游戏的玩法2.写扫雷小游戏的整体思路 二&#xff0c;函数功能的实现模块1.宏定义2.打印菜单3.初始化雷盘4.打印雷盘5.布置雷6.玩家排雷6.1 显示该坐标有几个雷的函数6.2雷盘展开函数的实现 三.最终扫雷游戏的的实现1.…

AI绘画Stable Diffusion安装、使用教程 整合包下载

安装Stable Diffusion webui 效果图&#xff1a; 1.准备工作 在下载 AI 绘画工具前&#xff0c;电脑上需要提前下载一些运行的环境 1.下载python、git 首先本地机器最好是英伟达的 N 卡&#xff0c;并且至少需要 4GB 显存才能在本地运行&#xff0c;当然&#xff0c;A 卡也是…