TinEngine作为渲染标记语言的文本框,实际上在GUI界面中有很多实用的地方,以下是比较常见的。
这是最根本的,一个文本渲染类的组件,最主要的功能就是渲染显示富文本。在软件界面中,TinEngine可以以更丰富的文本格式显示内容,使界面更美观、信息显示能力更强。
在tkinter中,文本框是可以向里面添加组件,那么在此基础上编写的TinEngine,同样可以添加组件,这就是TinEngine的另一个功能——窗口布局。有一些软件使用HTMLlayer布局,文本主体由HTML框架构成,功能控件部分有特定的GUI部分完成。通过富文本排版和功能组件的结合,使得界面整体自然明快。
那么TinEngine同样可以完成这个任务。在之前的一篇文章中,我就是用了TinEngine创建了一个多窗口启动器,下面是那篇文章的连接:
tkinter创建多界面启动器
这个启动器的文本部分,就是使用了Tin标记语言,通过TinEngine呈现的。这只是一个简单应用,TinEngine还可以用于更复杂的窗口。不过在建设复杂窗口之前,先要熟悉TinEngine的基本使用和语法。(这是我通过baklib建立的知识库)
TinEngine中只有一个类,也就是渲染文本框,继承自tkinter的scrolledtext.ScrolledText。
该文本框类名为 TinText,使用Python调用的参数如下:
from TinEngine import TinText text=TinText(root,word_size='global',jit_paint:bool=False,font=('微软雅黑',13))#**kw,后面的参数与Text一样 """ word_size 的参数需要时 global 或 local。当使用global时,标题字体大小为默认大小 当使用local时,标题字体大小为font的设定 jit_paint指每次渲染一行后,是否直接更新文本框 """TinText的方法实际上只有一个:point_file(unit:list,cls=0)。这个是渲染标签的函数,当cls==1时,清空文本框重新渲染。
unit为以每个标签行为模块的列表,具体参数使用如下:
tinlang=''' <title>title;right <main>this is main;center;blue-grey <sp>2 <key>0 <-pass-> <main>this is <-pass-> part;;-red </-pass> ''' tinlist=tinlang.split('\n') #tinlist=['', '<title>title;right', '<main>this is main;center;blue-grey', '<sp>2', '<key>0', '<-pass->', '<main>this is <-pass-> part;;-red', '</-pass>', ''] text.point_file(unit=tinlist)Tin标记语言的语法很简单,在Tin知识库中有详细说明,在TinReader软件包中有系统的解释介绍。
标签行:
一般标签行 <[tag_name]>argv1... 可多行参数的标签行 <mode><[tins_file_name]> argv1 ... </mode>标签集:
<[tags_start_name]> <[tag_name]>... ... <[tags_end_name]>注意:缩进语法的正常解析在TinEngine-2.2.0-以后才支持。
具体的渲染结果可以在Tin知识库中下载TinReader使用查看。
TinReader是一个完整的软件包,包括目前所有的TinGroup组件,是我专门为Tin标记语言的使用编写的软件集。
TinEngine的语法和使用就介绍到这里,一起加油! 软件包,包括目前所有的TinGroup组件,是我专门为Tin标记语言的使用编写的软件集。
TinEngine的语法和使用就介绍到这里,一起加油!