Go to file
cxykevin a4de1f152c
Build and Publish / Run (push) Successful in 59s Details
补充button的forget和select的change
2024-05-01 11:05:34 +08:00
.gitea/workflows 更新 .gitea/workflows/build.yaml 2024-04-21 11:11:19 +08:00
.vscode 添加packer 2024-04-26 09:06:43 +08:00
magictk 补充button的forget和select的change 2024-05-01 11:05:34 +08:00
packer 添加packer 2024-04-26 09:06:43 +08:00
photo2 补充图标资源 2024-04-25 22:53:46 +08:00
.gitattributes 完成icon 2024-04-26 09:00:26 +08:00
.gitignore 添加packer 2024-04-26 09:06:43 +08:00
LICENSE Initial commit 2024-03-24 18:20:44 +08:00
MANIFEST.in 完成setup,解决资源包问题 2024-04-19 21:36:24 +08:00
README.md 更新readme 2024-04-26 09:35:18 +08:00
debug.py 修复plain的图标bug 2024-04-29 21:10:39 +08:00
setup.py 更新buttonlight对应文字按钮 2024-04-27 13:39:33 +08:00

README.md

magictk

icon

一个模仿 element plus 的 tkinter 组件库

演示

依赖/需求

  • python >= 3.8
  • pywin32 (Only in Windows)

安装

pip

任选其一

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

    python setup.py install
    

性能

测试机器:

  • Arch Linux x86_64
  • Wayland + KDE Plasma
  • Intel Celeron G1840 (2) @ 2.800GHz
  • Intel HD Graphics
  • Memory: 11665MiB
  • htop

CPU 占用:

  • 单窗口约 20%

非最新数据

Memory 占用:

  • 50 MiB

性能测试会消耗 200 MiB 内存, Tim Sort sort() 1e7 随机数据 测试

组件

以下组件按完成时间从上(早)到下(晚)排序

  1. Window (在 Linux 下存在强制置顶问题,且最大化存在问题 OSX 未经过测试)
  2. Button
  3. ProgressBar
  4. CheckBox (可以使用 Checkbox 指定 RadioGroup 实现 Radio)
  5. Menu
  6. Select
  7. Frame (所有组件必须配合自定义的 Frame 使用,因为 Frame 携带 root 信息,可手动指定)
  8. Input (在 Linux 下会弹出一个空窗口(如果没有这个窗口无法输入,原理尚不清楚))
  9. ScrollBar (在多重嵌套时滚轮事件绑定稍有问题,在控件上绑定失效)