首页 > 解决方案 > 如何不在 tkinter 文本小部件中选择空白文本?

问题描述

有没有办法不在 tkinter.xml 中选择空白文本。

这是代码:

from tkinter import *

root = Tk()

text = Text(root , width = 65 , height = 20 , font = "consolas 14")
text.pack()

text.insert('1.0' , "This is the first line.\n\nThis is the third line.\n\nThis is the fifth line.")

mainloop()

在这里,当我选择几行时,每行末尾的空白文本也会被选中。

在此处输入图像描述

我希望空白文本不应该被选中。

在此处输入图像描述

有没有办法在 tkinter 中实现这一点?

如果有人可以帮助我,那就太好了。

标签: pythontkinterselectiontext-widget

解决方案


选择的并不是真正的“区域”: Text 对象包含(并选择)字符,而不是区域。区分被选择的字符以及它们在屏幕上的表现是很重要的。

每行中的最后一个字符是换行符'\n'(这实际上是定义line的内容)。当您将鼠标移到点之外'.'(向右)时,您的选择中包含了换行符。

现在,Text 小部件通常会反转前景色和背景色以指示选择了一个字符,但换行符并未明确绘制为字符,它实际上是不可见的(除了文本跳转到下一行的事实)。这些困扰您的空白区域只是 Text 小部件告诉您已选择换行符的方式,我认为您无法更改此显示行为。


推荐阅读