TK的文本小部件是否支持自定义文本装饰器?

时间:2016-03-04 21:19:48

标签: python-3.x tkinter tk

我正在寻找一个支持非平凡标记的跨平台富文本小部件,包括以下内容,我想知道是否可以扩展Tk的文本小部件来执行它们:

  • 设置文字背景颜色
  • 在文字
  • 上方和下方画线
  • 在文字周围绘制边框
  • 通过重叠线条和形状(例如,实心圆圈)来装饰内容
  • 表示装订线中的物品

为了给你一个想法,请看这里的中间窗格:

enter image description here

我读了一些关于标签的内容,但它们似乎仅限于字体,颜色等基础知识。我还阅读了关于在画布小部件上绘制文本的内容,但它看起来像标准文本编辑器一样的文本选择,流程等等会丢失。

非常感谢。

1 个答案:

答案 0 :(得分:2)

简而言之,您只能执行您在文档中阅读的内容(假设您已阅读权威文档)。

具体来说,文本窗口小部件并不能完成所有要求的操作。您无法执行以下操作:

  • 在文字上方和下方划线。
  • 您可以使用自定义字体打开重击和下划线属性,但无法在小部件上添加线条,并且您无法控制重击或下划线的视觉属性
  • 通过覆盖线条和形状(例如,实心圆圈)来装饰内容

您可以设置文本背景和前景色,在文本周围绘制边框,并将项目放入装订线。对于后者,您需要使用画布作为装订线。

请注意,如果您使用画布而不是文本小部件,则可以执行所有这些操作(读取:画布的文本项可以编辑),但是需要大量工作才能实现所有将其用作编辑器所必需的绑定。有关此方法的详细信息,请参阅http://effbot.org/zone/editing-canvas-text-items.htm