From 9d3badf124b6c465466b8d4fa245ff3f5408304b Mon Sep 17 00:00:00 2001 From: cxykevin Date: Fri, 26 Apr 2024 09:35:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 62 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 43 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 2393c63..ffffcff 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,42 @@ -![icon](http://git.hmtsai.cn/cxykevin/magictk-img-readme/raw/branch/master/icon.ico) -# magictk -### 一个模仿 [element plus](https://element-plus.org/) 的 tkinter 组件库 +# magictk + +![icon](https://git.hmtsai.cn/cxykevin/magictk-img-readme/raw/branch/master/icon.ico) +> 一个模仿 [element plus](https://element-plus.org/) 的 tkinter 组件库 ## 演示 - -## 依赖 + + +## 依赖/需求 + +- `python` >= 3.8 - `pywin32` (Only in `Windows`) +## 安装 + +### pip + +任选其一 + +``` bash +pip install magictk -i https://pypi.org/simple + +pip install --index-url http://git.hmtsai.cn/api/packages/cxykevin/pypi/simple magictk +``` + +### 源码安装 + +1. clone 本仓库 +2. 运行setup.py + + ``` bash + python setup.py install + ``` + ## 性能 + 测试机器: + - Arch Linux x86_64 - Wayland + KDE Plasma - Intel Celeron G1840 (2) @ `2.800GHz` @@ -20,30 +45,29 @@ - htop CPU 占用: + - 单窗口约 `20%` + > 非最新数据 Memory 占用: + - 约 `50 MiB` > 性能测试会消耗 `200` MiB 内存, Tim Sort `sort()` 1e7 随机数据 测试 ## 组件 + > 以下组件按完成时间从上(早)到下(晚)排序 + 1. `Window` - > 在 Linux 下存在强制置顶问题,且最大化存在问题 - > OSX 未经过测试 + (在 Linux 下存在强制置顶问题,且最大化存在问题 + OSX 未经过测试) 2. `Button` 3. `ProgressBar` -4. `CheckBox` (`Radio`) - > `Radio` 可以使用 `Checkbox` 指定 `RadioGroup` 实现 +4. `CheckBox` (可以使用 `Checkbox` 指定 `RadioGroup` 实现 `Radio`) 5. `Menu` 6. `Select` -7. `Frame` - > 所有组件必须配合自定义的 `Frame` 使用,因为 `Frame` 携带 `root` 信息(可手动指定) -8. `Input` - > 在 `Linux` 下会弹出一个空窗口(如果没有这个窗口无法输入,原理尚不清楚) ---- - -以下为计划开发顺序: -9. `ScrollBar` +7. `Frame` (所有组件必须配合自定义的 `Frame` 使用,因为 `Frame` 携带 `root` 信息,可手动指定) +8. `Input` (在 `Linux` 下会弹出一个空窗口(如果没有这个窗口无法输入,原理尚不清楚)) +9. `ScrollBar` (在多重嵌套时滚轮事件绑定稍有问题,在控件上绑定失效)