Name | customtkinterx JSON |
Version |
0.4.4
JSON |
| download |
home_page | |
Summary | extra widgets for customtkinter |
upload_time | 2023-06-22 09:29:41 |
maintainer | |
docs_url | None |
author | XiangQinxi |
requires_python | >=3.7,<4.0 |
license | |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# CustomTkinterX
> 解释器需Python3.7及以上
`customtkinter`的扩展组件功能库,同时也采集了其他开发者制作的组件,并进行仅类型提示上的修改(源代码`__main__.py`上有标注)
## Fluent主题
尚未完善设置,修改了`CTk` `CTkToplevel` `CTkFrame` `CTkButton` `CTKEntry` `CTkComboBox`等类。
```python
from customtkinter import *
from customtkinterx import *
CTkFluentTheme()
```
## CTkCustom 自定义窗口
原窗口因标题栏与边框的限制,导致界面效果极差,但是仍可以通过一些方法自定义窗口`wm_overrideredirect`。
平台支持`Windows` `MacOS` `Linux`,其中界面效果支持最好的是`Windows`,`MacOS` `Linux`无法使用透明色,完全消除边框使用圆角,
及将图标保留至任务栏,采用置顶的方法保持窗口的显示。
### 组件结构
```markdown
| CTkCustom -> CTk
|-->> __frame_border(mainframe): CTkFrame
|-->> __frame_title(titlebar): CTkFrame
|-->> __label_title(titlebar_title): CTkLabel
|-->> __button_close(titlebar_closebutton): CTkButton
|-->> __button_minimize(titlebar_minimizebutton): CTkButton
```
### 基础示例
```python
from customtkinter import *
from customtkinterx import *
root = CTkCustom()
root.mainloop()
```
### 主题配置
你可以自定义一个主题,然后加上`CTkCustom`项
```json
{
...
"transparent_color": "#101010", // 为实现圆角边框而设置的透明色
"closebutton_text_color": ["#000000", "#ffffff"],
"closebutton_color": ["#f4f6f8", "#212b36"],
"closebutton_hover_color": ["#b40d1b", "#b40d1b"],
"minimizebutton_text_color": ["#000000", "#ffffff"],
"minimizebutton_color": ["#f4f6f8", "#212b36"],
"minimizebutton_hover_color": ["#dfe3e8", "#454f5b"]
},
...
}
```
### 添加缩放窗口大小的手柄
```python
CTKCustom.create_sizegrip()
```
自定义手柄,将会使用库`pyautogui`。
```bash
python -m pip install pyautogui
```
```python
CTKCustom.create_sizegrip(True)
```
```python
from customtkinter import *
from customtkinterx import *
root = CTkCustom()
root.create_sizegrip()
root.mainloop()
```
```python
from customtkinter import *
from customtkinterx import *
root = CTkCustom()
root.create_sizegrip(True)
root.mainloop()
```
## CTkInfoBar 消息栏
### 组件结构
```markdown
| CTkInforBar -> CTkFrame
|-->> __label_title(title): CTkLabel
|-->> __label_info(info): CTkLabel
|-->> __button_close(close): CTkButton
```
### 基础示例
```python
from customtkinter import *
from customtkinterx import *
root = CTk()
infobar = CTkInfoBar()
infobar.show()
root.mainloop()
```
### 主题配置
你可以自定义一个主题,然后加上`CTkInfoBar`项
```json
{
...
"CTkInfoBar": {
"corner_radius": 8,
"border_width": 0,
"fg_color": ["#61f3f3", "#006c9c"],
"fg_hover_color": ["#cafdf5", "#003768"], // 关闭按钮被鼠标捕捉时的颜色
"border_color": ["#b0b2b2", "#424556"],
"success_color": ["#86e8ab", "#1b806a"], // 取自配色severity中NORMAL值
"success_hover_color": ["#d8fbde", "#0a5554"], // 取自配色severity中被鼠标捕捉时的NORMAL值
"caution_color": ["#ffd666", "#b76e00"], // 取自配色severity中CAUTION值
"caution_hover_color": ["#fff5cc", "#7a4100"], // 取自配色severity中被鼠标捕捉时的CAUTION值
"critical_color": ["#ffac82", "#b71d18"], // 取自配色severity中CRITICAL值
"critical_hover_color": ["#ffe9d5", "#7a0916"] // 取自配色severity中被鼠标捕捉时的CAUTION值
},
...
}
```
Raw data
{
"_id": null,
"home_page": "",
"name": "customtkinterx",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "XiangQinxi",
"author_email": "XiangQinxi@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/2e/1f/9d4e96872f5de658db3ea8553e0c4df3647da65ef5347345a7088da0662c/customtkinterx-0.4.4.tar.gz",
"platform": null,
"description": "# CustomTkinterX\n> \u89e3\u91ca\u5668\u9700Python3.7\u53ca\u4ee5\u4e0a\n\n`customtkinter`\u7684\u6269\u5c55\u7ec4\u4ef6\u529f\u80fd\u5e93\uff0c\u540c\u65f6\u4e5f\u91c7\u96c6\u4e86\u5176\u4ed6\u5f00\u53d1\u8005\u5236\u4f5c\u7684\u7ec4\u4ef6\uff0c\u5e76\u8fdb\u884c\u4ec5\u7c7b\u578b\u63d0\u793a\u4e0a\u7684\u4fee\u6539\uff08\u6e90\u4ee3\u7801`__main__.py`\u4e0a\u6709\u6807\u6ce8\uff09\n\n## Fluent\u4e3b\u9898\n\u5c1a\u672a\u5b8c\u5584\u8bbe\u7f6e\uff0c\u4fee\u6539\u4e86`CTk` `CTkToplevel` `CTkFrame` `CTkButton` `CTKEntry` `CTkComboBox`\u7b49\u7c7b\u3002\n```python\nfrom customtkinter import *\nfrom customtkinterx import *\n\nCTkFluentTheme()\n```\n\n## CTkCustom \u81ea\u5b9a\u4e49\u7a97\u53e3\n\u539f\u7a97\u53e3\u56e0\u6807\u9898\u680f\u4e0e\u8fb9\u6846\u7684\u9650\u5236\uff0c\u5bfc\u81f4\u754c\u9762\u6548\u679c\u6781\u5dee\uff0c\u4f46\u662f\u4ecd\u53ef\u4ee5\u901a\u8fc7\u4e00\u4e9b\u65b9\u6cd5\u81ea\u5b9a\u4e49\u7a97\u53e3`wm_overrideredirect`\u3002\n\u5e73\u53f0\u652f\u6301`Windows` `MacOS` `Linux`\uff0c\u5176\u4e2d\u754c\u9762\u6548\u679c\u652f\u6301\u6700\u597d\u7684\u662f`Windows`\uff0c`MacOS` `Linux`\u65e0\u6cd5\u4f7f\u7528\u900f\u660e\u8272\uff0c\u5b8c\u5168\u6d88\u9664\u8fb9\u6846\u4f7f\u7528\u5706\u89d2\uff0c\n\u53ca\u5c06\u56fe\u6807\u4fdd\u7559\u81f3\u4efb\u52a1\u680f\uff0c\u91c7\u7528\u7f6e\u9876\u7684\u65b9\u6cd5\u4fdd\u6301\u7a97\u53e3\u7684\u663e\u793a\u3002\n\n### \u7ec4\u4ef6\u7ed3\u6784\n```markdown\n| CTkCustom -> CTk\n|-->> __frame_border(mainframe): CTkFrame\n|-->> __frame_title(titlebar): CTkFrame\n|-->> __label_title(titlebar_title): CTkLabel\n|-->> __button_close(titlebar_closebutton): CTkButton\n|-->> __button_minimize(titlebar_minimizebutton): CTkButton\n```\n\n### \u57fa\u7840\u793a\u4f8b\n```python\nfrom customtkinter import *\nfrom customtkinterx import *\n\nroot = CTkCustom()\n\nroot.mainloop()\n```\n\n### \u4e3b\u9898\u914d\u7f6e\n\u4f60\u53ef\u4ee5\u81ea\u5b9a\u4e49\u4e00\u4e2a\u4e3b\u9898\uff0c\u7136\u540e\u52a0\u4e0a`CTkCustom`\u9879\n```json\n{\n ...\n \"transparent_color\": \"#101010\", // \u4e3a\u5b9e\u73b0\u5706\u89d2\u8fb9\u6846\u800c\u8bbe\u7f6e\u7684\u900f\u660e\u8272\n\n \"closebutton_text_color\": [\"#000000\", \"#ffffff\"],\n \"closebutton_color\": [\"#f4f6f8\", \"#212b36\"],\n \"closebutton_hover_color\": [\"#b40d1b\", \"#b40d1b\"],\n\n \"minimizebutton_text_color\": [\"#000000\", \"#ffffff\"],\n \"minimizebutton_color\": [\"#f4f6f8\", \"#212b36\"],\n \"minimizebutton_hover_color\": [\"#dfe3e8\", \"#454f5b\"]\n },\n ...\n}\n```\n\n### \u6dfb\u52a0\u7f29\u653e\u7a97\u53e3\u5927\u5c0f\u7684\u624b\u67c4\n```python\nCTKCustom.create_sizegrip()\n```\n\u81ea\u5b9a\u4e49\u624b\u67c4\uff0c\u5c06\u4f1a\u4f7f\u7528\u5e93`pyautogui`\u3002\n```bash\npython -m pip install pyautogui\n```\n```python\nCTKCustom.create_sizegrip(True)\n```\n\n```python\nfrom customtkinter import *\nfrom customtkinterx import *\n\nroot = CTkCustom()\nroot.create_sizegrip()\n\nroot.mainloop()\n```\n\n```python\nfrom customtkinter import *\nfrom customtkinterx import *\n\nroot = CTkCustom()\nroot.create_sizegrip(True)\n\nroot.mainloop()\n```\n\n## CTkInfoBar \u6d88\u606f\u680f\n### \u7ec4\u4ef6\u7ed3\u6784\n```markdown\n| CTkInforBar -> CTkFrame\n|-->> __label_title(title): CTkLabel\n|-->> __label_info(info): CTkLabel\n|-->> __button_close(close): CTkButton\n```\n\n### \u57fa\u7840\u793a\u4f8b\n```python\nfrom customtkinter import *\nfrom customtkinterx import *\n\nroot = CTk()\n\ninfobar = CTkInfoBar()\ninfobar.show()\n\nroot.mainloop()\n```\n\n### \u4e3b\u9898\u914d\u7f6e\n\u4f60\u53ef\u4ee5\u81ea\u5b9a\u4e49\u4e00\u4e2a\u4e3b\u9898\uff0c\u7136\u540e\u52a0\u4e0a`CTkInfoBar`\u9879\n```json\n{\n ...\n \"CTkInfoBar\": {\n \"corner_radius\": 8,\n \"border_width\": 0,\n\n \"fg_color\": [\"#61f3f3\", \"#006c9c\"], \n \"fg_hover_color\": [\"#cafdf5\", \"#003768\"], // \u5173\u95ed\u6309\u94ae\u88ab\u9f20\u6807\u6355\u6349\u65f6\u7684\u989c\u8272\n\n \"border_color\": [\"#b0b2b2\", \"#424556\"], \n\n \"success_color\": [\"#86e8ab\", \"#1b806a\"], // \u53d6\u81ea\u914d\u8272severity\u4e2dNORMAL\u503c\n \"success_hover_color\": [\"#d8fbde\", \"#0a5554\"], // \u53d6\u81ea\u914d\u8272severity\u4e2d\u88ab\u9f20\u6807\u6355\u6349\u65f6\u7684NORMAL\u503c\n \"caution_color\": [\"#ffd666\", \"#b76e00\"], // \u53d6\u81ea\u914d\u8272severity\u4e2dCAUTION\u503c\n \"caution_hover_color\": [\"#fff5cc\", \"#7a4100\"], // \u53d6\u81ea\u914d\u8272severity\u4e2d\u88ab\u9f20\u6807\u6355\u6349\u65f6\u7684CAUTION\u503c\n \"critical_color\": [\"#ffac82\", \"#b71d18\"], // \u53d6\u81ea\u914d\u8272severity\u4e2dCRITICAL\u503c\n \"critical_hover_color\": [\"#ffe9d5\", \"#7a0916\"] // \u53d6\u81ea\u914d\u8272severity\u4e2d\u88ab\u9f20\u6807\u6355\u6349\u65f6\u7684CAUTION\u503c\n\n },\n ...\n}\n```",
"bugtrack_url": null,
"license": "",
"summary": "extra widgets for customtkinter",
"version": "0.4.4",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5f9a67b4287a3fe66ba42a37b146baba34657c1ee457c482bf6354c6876a5064",
"md5": "d2180dc780cb5a7ff6f48ee01dec4568",
"sha256": "9d089b578583f40eaea08bf2efe632bc8e7f205c3eedddc28ec2e0de24c935e5"
},
"downloads": -1,
"filename": "customtkinterx-0.4.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d2180dc780cb5a7ff6f48ee01dec4568",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7,<4.0",
"size": 96900,
"upload_time": "2023-06-22T09:29:38",
"upload_time_iso_8601": "2023-06-22T09:29:38.127141Z",
"url": "https://files.pythonhosted.org/packages/5f/9a/67b4287a3fe66ba42a37b146baba34657c1ee457c482bf6354c6876a5064/customtkinterx-0.4.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2e1f9d4e96872f5de658db3ea8553e0c4df3647da65ef5347345a7088da0662c",
"md5": "b8d4e639e0fcee3a4af47fcbf39d3a9a",
"sha256": "d959ca8967f6db69a9c87b725cfb35dee42b05a46c7a0342e6611a6eea237645"
},
"downloads": -1,
"filename": "customtkinterx-0.4.4.tar.gz",
"has_sig": false,
"md5_digest": "b8d4e639e0fcee3a4af47fcbf39d3a9a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7,<4.0",
"size": 105749,
"upload_time": "2023-06-22T09:29:41",
"upload_time_iso_8601": "2023-06-22T09:29:41.317435Z",
"url": "https://files.pythonhosted.org/packages/2e/1f/9d4e96872f5de658db3ea8553e0c4df3647da65ef5347345a7088da0662c/customtkinterx-0.4.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-22 09:29:41",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "customtkinterx"
}