跳转到主要内容

使用makup语言和响应式数据绑定进行声明式Tkinter UI

项目描述

License Build Quality Gate Minarca Client Coverage

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界面的结果。

Minarca Agent graphical user interface build with TKVue

翻译

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)

2.0.2 (2023-02-08)

  • 添加示例以展示变量的使用dynamic.py
  • 添加示例以展示visible=属性的使用来显示或隐藏小部件dynamic_visible.py
  • 添加示例以展示for=属性的使用来创建小部件列表dynamic_loop.py
  • 添加示例以展示样式自定义color.py

2.0.1 (2023-01-16)

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的初始版本

项目详情


发布历史 发布通知 | RSS源

下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码发行版

本版本没有可用的源代码发行版文件。请参阅生成发行版存档的教程

构建的发行版

tkvue-2.1.6-py3-none-any.whl (199.2 kB 查看散列)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面