所以,tkinter文本编辑器!
编辑器显然需要有文本样式,需要使用标签将打印文本更改为当前选择的格式。但问题是标签名称在格式更改时需要更改,否则标签将应用于整个文本。 (这是我努力找出相当长的一段时间的问题)
为了避免这种情况,你需要的标签很多(如bold, both, calibri
等),所以代码看起来像这样tkinter - 管理多个标签
if style == 'bold':
tag_add('bold', 'insert -1c', 'insert')
tag_configure('bold', font=('Calibri', 12, 'bold'))
if stlye == 'italic':
etc etc
这是糟糕的代码,并且使不同的字体/大小不可能。
是否有举办多个标签这样的一个正确的方式,像
tag.add(currentstyle, 'insert -1c', 'insert')
tag.config(currentstyle, font=(currentfont, currentsize, currentweight, currentslant))
感谢您的帮助
UPDATE
从布莱恩
tagname = '{}-{}-{}-{}'.format(font, fontsize, weight, slant)
textbox.tag_add(tagname, 'insert -1c', 'insert')
textbox.tag_configure(tagname, font=(font, fontsize, weight, slant))
有帮助不小的解决
现在每个标签都有唯一的名称
猜你要觉得有时候框外,由于 – EriktheRed
@EriktheRed:Tkinter的更像是一家木材店比一个家具店你。可以与Tkinter创建非常好的界面,但有时您必须自己完成这项工作。 –