使用makup语言和响应式数据绑定进行声明式Tkinter UI
项目描述
TKVue
使用makup语言和响应式数据绑定进行声明式Tkinter UI。
描述
TKVue将网络开发中的熟悉优势带入传统开发。此项目允许您使用Tkinter库以Python编写现代图形用户界面。
TKVue提供了一个声明性语言,用于使用标记语言构建用户界面。
<Label text="Hello world!" />
TKVue提供了数据绑定,可快速使您的图形用户界面动态化。
<ComboBox pack-side="left" pack-expand="1" values="['zero', 'one', 'two', 'three']" textvariable="{{ myvariable }}" />
<Label text="{{ myvariable }}" />
TKVue提供了一个babel入口点以支持国际化。
babel.cfg
:
[tkvue: **/templates/**.tkml]
安装
TKVue可在PyPI上找到,并可使用pip
安装。
pip install tkvue
用法
安装完毕后,您可以查看可用的各种示例
https://gitlab.com/ikus-soft/tkvue/-/tree/master/doc/examples
欢迎编写关于如何使用TKVue的适当文档。
支持
如果您在使用TKvue时需要帮助或遇到问题,请在Gitlab中打开一个工单。
结果
一旦您自定义了Tkinter主题,结果可能会令人惊讶。这里展示了使用TKVue构建的Minarca界面的结果。
翻译
Tkvue提供了一个babel扩展来从XML模板中提取静态文本。
您必须配置babel以使用正确的插件来从模板中提取值。
babel.cfg
[tkvue: **/templates/**.tkml]
然后您可以使用babel和其他gettext工具使用.po
文件完成翻译。
python setup.py extract_messages
另请参阅
其他值得注意的Tkinter相关项目
- witkets:使用XML创建Tkinter界面,类似于TKVue
- ttkbootstrap:受Bootstrap启发的Tkinter主题扩展
变更日志
2.1.6 ()
- 添加对
@tkvue.computed()
注解的支持以动态注册属性 - 添加对Python 3.12的支持
- 调整asyncio事件循环,以便在.mainloop()退出时保持运行
- 添加对Grid几何管理器的支持
- 添加对自定义组件动态注册属性的支持
@tkvue.attr()
- 添加对TopLevel上的
style
属性的支持以继承背景颜色 - 当使用
for
属性时添加loop_idx
变量
2.1.5 (2023-10-18)
- 修复当root尚未定义时的无限递归深度问题
2.1.4 (2023-07-26)
- 当样式配置时更新ScrolledFrame的背景
- 仅对Label注册"wrap"属性
2.1.3 (2023-07-25)
- 为ScrolledFrame定义最小高度。
2.1.2 (2023-07-13)
- 修复Y轴调整大小时ScrolledFrame中滚动条显示问题。
2.1.1 (2023-07-12)
- 修复初始化时的滚动条显示问题。
2.1.0 (2023-04-20)
- 添加许多示例以实现自我文档化
- 提供
@tkvue.widget
注解以注册新小部件。 - 提供
@tkvue.attr
注解以注册小部件的自定义属性。
2.0.3 (2023-02-26)
- 支持TopLevel上的
resizable
属性not_resizable.py - 支持TopLevel上的
theme
属性theme.py
2.0.2 (2023-02-08)
- 添加示例以展示变量的使用dynamic.py
- 添加示例以展示
visible=
属性的使用来显示或隐藏小部件dynamic_visible.py - 添加示例以展示
for=
属性的使用来创建小部件列表dynamic_loop.py - 添加示例以展示样式自定义color.py
2.0.1 (2023-01-16)
- 支持将
None
分配给<Label image="..." >
以隐藏图像animated_gif.py - 添加示例以展示
<Progressbar>
的使用progressbar.py
2.0.0 (2022-12-13)
- 使用asyncio实现主循环以避免多线程 #1
- 增加显示
<Tooltip>
时的默认偏移量,以避免用户悬停小部件时的闪烁 <ScrolledFrame>
从样式继承背景颜色- 根据需要显示或隐藏
<ScrolledFrame>
的滚动条 - 固定black、isort和flake8的版本
- 添加对
place
几何管理器的支持
1.0.1 (2022-11-09)
- 修复许可证徽章
- 声明babel入口点以进行翻译
- 添加组合框示例
- 使用私有gitlab runner来运行测试
1.0.0 (2022-04-06)
- 为Minarca项目编写的TKVue的初始版本
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码发行版
本版本没有可用的源代码发行版文件。请参阅生成发行版存档的教程。
构建的发行版
tkvue-2.1.6-py3-none-any.whl (199.2 kB 查看散列)