【问题标题】:Tkinter - Canvas Text Object Auto-ScrollTkinter - 画布文本对象自动滚动
【发布时间】: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


【解决方案1】:

有什么好的方法吗?

不,没有办法让画布文本项按照您想要的方式剪辑。

【讨论】:

    【解决方案2】:

    您可以简单地滚动 Text 小部件。

    在此处查看代码:https://github.com/decadenza/blondieautoscroll

    【讨论】:

      猜你喜欢
      • 2015-12-18
      • 2017-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多