python.tkinter设计标记语言(渲染6-暂停与跳过渲染)

@TOC

前言

一个流式渲染呈现的标记语言,就需要有能够控制渲染呈现流程的标签。

TinML中(以TinText1.4版本为例),控制渲染呈现流程的标签主要有<stop>, <part>, <wait>,这三种标签分别对应以下流程控制:

  1. 暂停一段时间

  2. 划定一段内容,由读者决定是否显示并阅读

  3. 暂停渲染,等待读者确认继续阅读

为了使整个程序不会因为渲染暂停而被阻塞,TinText的渲染操作在子线程中进行。


暂停一段时间

这个很简单,由<stop>标签确定。

<stop>3
|-暂停三秒

在TinText中,由线程等待事件实现:

#t为暂停的时间,单位为秒
self.render_flag.clear()
self.render_flag.wait(t)
self.render_flag.set()

self.render_flag的定义如下:

self.render_flag=threading.Event()#渲染线程标志

划定可选阅读内容

TinML允许划定可选的阅读内容,由读者选择是否进行渲染呈现并阅读。

比如:

<p>接下来将介绍TinText的各个组成部分

<pt>dev
<p>开发介绍。。。
</pt>dev

<pt>apps
<p>TinText由TinReader、TinWriter、TinMaker等组成

<pt>reader
<p>TinReader是TinText的阅读器
</pt>reader

<pt>writer
<p>TinWriter是TinText的编辑器
</pt>writer

<pt>maker
<p>TinMaker是TinText的加密与集成TIN文件生成器
</pt>maker
</pt>apps

|-......

在新版TinML规范中,可选呈现内容标签允许嵌套,如果上级内容未被选择阅读,则下级所有内容,包括下级可选呈现内容,均会被跳过,所以尽量不要半嵌套

这就划定了两大可选内容,第二个可选内容下又分三个可选内容,这些内容都可以允许读者选择是否阅读,同来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值