tkinter是python的标准库,在python的gui库中是最轻量的。
我通过tkinter实现了富文本标记语言——Tin语言。这是我定义的一个可以通过TinEngine在tkinter中解析渲染的标记语言。Tin标记语言采用标签语法(不是HTML的元素语法,所以不支持嵌套)。
TinEngine的知识库地址(https://tinhome.baklib-free.com/)
TinEngine使用pip安装:pip install tinengine
![](http://tiebapic.baidu.com/forum/w%3D580/sign=3144b799bfd3fd1f3609a232004f25ce/2876fffaaf51f3de07409dd383eef01f3b297973.jpg?tbpicau=2024-09-12-05_7b3813f5484f7644125c5b992beff4ad)
Tin语言标记文本段可以通过TinEngine中的TinText渲染成可读的富文本。Tin标记语言可以实现以下功能。
渲染普通富文本(<title>,<main>,<middles>等)、链接(<word>)、图片(<img>,支持gif)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=4bd050b3800a304e5222a0f2e1c9a7c3/46beb68f8c5494ee46d02bae3af5e0fe98257e73.jpg?tbpicau=2024-09-12-05_89f2a5ae54b126cd65a7347a8b0a04ad)
HTML4(<hptext>,图为HTML3渲染,新版的Tin支持HTML4渲染)和HTML5(<html>)的渲染
![](http://tiebapic.baidu.com/forum/w%3D580/sign=693758d31e23dd542173a760e108b3df/945fba0e7bec54e794f53ea9ae389b504ec26ac8.jpg?tbpicau=2024-09-12-05_dcb3032d4160d457fab14197ca2b76a2)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=792da2598b82d158bb8259b9b00b19d5/0c5899504fc2d5622d11f45af01190ef77c66cc8.jpg?tbpicau=2024-09-12-05_741e8bb52208fdf6798be470ccb9d703)
渲染表格等内部组件(图为第一代表格,最新一代渲染的表格自动适配宽度和滚动尺寸)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=12d1b954ea1f4134e0370576151e95c1/489aad51f3deb48f389b8569e71f3a292cf57873.jpg?tbpicau=2024-09-12-05_5ffa40082b15d5de667494139235f453)
内嵌代码段(<code>支持Python,tcl,vbs)(图为通过Python代码绑定按钮事件)
<tkinter>
window_create(self.end,window=Button(self,text='code button',command=lambda:self.get_codes_to_run('test')))
</tkinter>
<code>test;python
self.insert('end','main')
</code>
![](http://tiebapic.baidu.com/forum/w%3D580/sign=5714d7db073853438ccf8729a312b01f/25329a22720e0cf3b5f46a4c1d46f21fbf09aae2.jpg?tbpicau=2024-09-12-05_d623b3b6dba99021e26157434657d4db)
加密文本段内容,通过内部对话框获取密码(此外还有一些交互功能如<askyesno>和<stop>标签)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=28f6a330c7a20cf44690fed746084b0c/af2c530fd9f9d72a112d34aac32a2834359bbb98.jpg?tbpicau=2024-09-12-05_c23509c6b4a011b3856ba5efd8b58f9a)
此外,Tin还能实现很多渲染功能,而且Tin尚处于完善阶段。
Tin能够在以下场景使用
1. 渲染富文本或进行富文本呈现/阅读
2. 将界面内容/数据以富文本样式展现出来
3. 在tkinter上实现类似于HTMLlayout的TinLayout
TinEngine支持库:
PIL, requests, comtypes
可以直接在知识库https://tinhome.baklib-free.com/获取Tin编写应用——TinReader(Windows)
在知识库的“预览与接口”中可以下载最新的TinEngine.pyd(windows10_x64,Python3.9)
或者可以使用pip安装:pip install tinengine
因为目前Tin标记语言还不完善等原因,目前只能提供pyd接口,希望大家理解
。
我通过tkinter实现了富文本标记语言——Tin语言。这是我定义的一个可以通过TinEngine在tkinter中解析渲染的标记语言。Tin标记语言采用标签语法(不是HTML的元素语法,所以不支持嵌套)。
TinEngine的知识库地址(https://tinhome.baklib-free.com/)
TinEngine使用pip安装:pip install tinengine
![](http://tiebapic.baidu.com/forum/w%3D580/sign=3144b799bfd3fd1f3609a232004f25ce/2876fffaaf51f3de07409dd383eef01f3b297973.jpg?tbpicau=2024-09-12-05_7b3813f5484f7644125c5b992beff4ad)
Tin语言标记文本段可以通过TinEngine中的TinText渲染成可读的富文本。Tin标记语言可以实现以下功能。
渲染普通富文本(<title>,<main>,<middles>等)、链接(<word>)、图片(<img>,支持gif)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=4bd050b3800a304e5222a0f2e1c9a7c3/46beb68f8c5494ee46d02bae3af5e0fe98257e73.jpg?tbpicau=2024-09-12-05_89f2a5ae54b126cd65a7347a8b0a04ad)
HTML4(<hptext>,图为HTML3渲染,新版的Tin支持HTML4渲染)和HTML5(<html>)的渲染
![](http://tiebapic.baidu.com/forum/w%3D580/sign=693758d31e23dd542173a760e108b3df/945fba0e7bec54e794f53ea9ae389b504ec26ac8.jpg?tbpicau=2024-09-12-05_dcb3032d4160d457fab14197ca2b76a2)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=792da2598b82d158bb8259b9b00b19d5/0c5899504fc2d5622d11f45af01190ef77c66cc8.jpg?tbpicau=2024-09-12-05_741e8bb52208fdf6798be470ccb9d703)
渲染表格等内部组件(图为第一代表格,最新一代渲染的表格自动适配宽度和滚动尺寸)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=12d1b954ea1f4134e0370576151e95c1/489aad51f3deb48f389b8569e71f3a292cf57873.jpg?tbpicau=2024-09-12-05_5ffa40082b15d5de667494139235f453)
内嵌代码段(<code>支持Python,tcl,vbs)(图为通过Python代码绑定按钮事件)
<tkinter>
window_create(self.end,window=Button(self,text='code button',command=lambda:self.get_codes_to_run('test')))
</tkinter>
<code>test;python
self.insert('end','main')
</code>
![](http://tiebapic.baidu.com/forum/w%3D580/sign=5714d7db073853438ccf8729a312b01f/25329a22720e0cf3b5f46a4c1d46f21fbf09aae2.jpg?tbpicau=2024-09-12-05_d623b3b6dba99021e26157434657d4db)
加密文本段内容,通过内部对话框获取密码(此外还有一些交互功能如<askyesno>和<stop>标签)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=28f6a330c7a20cf44690fed746084b0c/af2c530fd9f9d72a112d34aac32a2834359bbb98.jpg?tbpicau=2024-09-12-05_c23509c6b4a011b3856ba5efd8b58f9a)
此外,Tin还能实现很多渲染功能,而且Tin尚处于完善阶段。
Tin能够在以下场景使用
1. 渲染富文本或进行富文本呈现/阅读
2. 将界面内容/数据以富文本样式展现出来
3. 在tkinter上实现类似于HTMLlayout的TinLayout
TinEngine支持库:
PIL, requests, comtypes
可以直接在知识库https://tinhome.baklib-free.com/获取Tin编写应用——TinReader(Windows)
在知识库的“预览与接口”中可以下载最新的TinEngine.pyd(windows10_x64,Python3.9)
或者可以使用pip安装:pip install tinengine
因为目前Tin标记语言还不完善等原因,目前只能提供pyd接口,希望大家理解
![](https://tb2.bdstatic.com/tb/editor/images/face/i_f01.png?t=20140803)