前言
TinUI是一个从2021年正式开始并一直维护到现在的小项目,中间经过了四代版本的更新。因为一些原因,2023年,TinUI-4后更新较少。
TinUI发展历程,见此文章。
现在,TinUI开始从v4过渡到v5:
- 新项目图标
- 全新样式
- 更规范的窗口管理
- 更有趣的新控件
- ……
本篇,将记录TinUI向5.0进发的每一步。
新控件
滚动选择框
滚动选值框(滚动选择器 picker),同来选择格式化数据。
菜单按钮
pre2加入菜单按钮 menubar
新样式
pre1
- 表格(table)使用圆角。
- pre1,菜单动画改为淡入。
pre2
- pre2 菜单新样式。
- 全新图标
- 新的黑暗样式
pre3
- scrollbar使用新标识符
- pipspager的新翻页按钮
- listbox, textbox, ui, canvas等控件可以自定义滚动条样式。
pre4
-
notebook控件添加对滚动条颜色的自定义参数。
-
labelframe使用圆角边框。
-
ratingbar新的星星
-
微调notebook样式
pre5
此预览版本主要进行大规模样式更新,此外,还引入了私有方法__auto_anchor
,创建控件元素坐标对齐的统一方法。
-
优化checkbutton的锯齿
-
waitbar2新样式
旧版
新版
-
组合框新样式
旧版
新版 -
开关控件新样式
旧版
新版 -
waitbar3(带状等待框)使用圆角末端
-
info引入提示指引标识符
新功能
导入字体文件
参考CustomTkinter的CTkFont,创建了TinUIFont
类。
TinUIFont.load_font("字体文件.ttf")
释放子窗口
在TinUI的menubar, menubutton, tooltip, picker等控件中,会用到子窗口作为浮出控件,使用越多,创建的子窗口越多,虽然平时都是隐藏状态。在本TinUI框架销毁,但是tkinter程序依然运行时,这些窗口不会消失。
为了避免占用多余的运行内存,可以使用如下代码销毁窗口。
TinUI.clean_windows()
可以通过绑定控件的<Destroy>
事件触发。
此外,TinUIXml的clean()
方法将自动触发这个销毁方法。