【发布时间】:2017-07-19 21:47:05
【问题描述】:
我正在开发一个 Tkinter 应用程序,该应用程序在此 Canvas 之上绘制了一个 Canvas 和一个 create_text 对象。
此文本对象单词通过width 属性自动换行。但是,我希望此文本在文本对象换行到第 4 行时自动剪切文本的顶行。
所以从这里开始:
aaaa
bbbbbb
cccc
dddddd <- incoming new text
到这里:
bbbbbb
cccc
dddddd
有什么好的方法吗?
【问题讨论】:
-
它需要在画布上吗?您也可以使用 if/else 语句来检查是否有 4 行,如果有,则删除第一行并将其他 3 行向上移动。我认为它可以在文本框中完成。
-
有什么理由不想使用预制的 ScrolledText 小部件?
-
好的,所以没有办法在 Canvas 文本对象中执行此操作?只有其他类型的文本对象?
-
唯一的办法就是自己写代码来做。不会那么难。
-
@Novel 好吧,我一直在努力。问题是没有办法知道 1) 文本对象何时自动换行到第三行,以及 2) 最上面一行中有多少字符,以便我可以删除它们。如果您有任何建议,我很乐意听取他们的意见。
标签: python canvas text tkinter autoscroll