customtkinterx


Namecustomtkinterx JSON
Version 0.4.4 PyPI version JSON
download
home_page
Summaryextra widgets for customtkinter
upload_time2023-06-22 09:29:41
maintainer
docs_urlNone
authorXiangQinxi
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"
}
        
Elapsed time: 0.08755s