Python Tkinter文本小部件中的省略或“隐藏”文本

Python Tkinter文本小部件中的省略或“隐藏”文本,python,tkinter,tk,Python,Tkinter,Tk,根据,在Tk/Tcl中,可以在文本小部件中嵌入省略的文本,即不显示的文本。这听起来很有用。这个功能在Python中可用吗?如果是,API是什么?下面的示例使用标记生成一个文本小部件,其中省略了文本: 下面的示例使用标记生成一个文本小部件,其中省略了文本: 福拉斯说得很对。。。解决方案非常简单,只需将elide=True关键字arg传递给tag_config方法。奇怪的是,我能找到的任何Tkinter文档中都没有elide关键字的文档。但是,最简单的方案是创建标记配置,如下所示: textWidg

根据,在Tk/Tcl中,可以在文本小部件中嵌入省略的文本,即不显示的文本。这听起来很有用。这个功能在Python中可用吗?如果是,API是什么?

下面的示例使用标记生成一个文本小部件,其中省略了文本:

下面的示例使用标记生成一个文本小部件,其中省略了文本:


福拉斯说得很对。。。解决方案非常简单,只需将elide=True关键字arg传递给tag_config方法。奇怪的是,我能找到的任何Tkinter文档中都没有elide关键字的文档。但是,最简单的方案是创建标记配置,如下所示:

textWidget.tag_config('hidden', elide=True) # or elide=1
这将导致标记的文本在文本小部件中不可见或隐藏。您将无法在文本小部件中看到文本,但它仍然存在。如果调用textWidget.get'1.0',end-1c',您将看到该方法返回的文本中隐藏的字符。您还可以从textWidget中删除隐藏字符,而无需查看它们。删除省略字符时,将看不到插入光标移动。这有点奇怪

请注意,标记的文本可以跨越多行,因此所有行都会在文本小部件中折叠。在测试时,我想到的第一件事是,如果我正在实现一个源代码编辑器,并且想要添加折叠部分代码的功能,比如在一个if块中,省略的文本就是我想要使用的功能


谢谢你,福拉斯

Furas说得很对。。。解决方案非常简单,只需将elide=True关键字arg传递给tag_config方法。奇怪的是,我能找到的任何Tkinter文档中都没有elide关键字的文档。但是,最简单的方案是创建标记配置,如下所示:

textWidget.tag_config('hidden', elide=True) # or elide=1
这将导致标记的文本在文本小部件中不可见或隐藏。您将无法在文本小部件中看到文本,但它仍然存在。如果调用textWidget.get'1.0',end-1c',您将看到该方法返回的文本中隐藏的字符。您还可以从textWidget中删除隐藏字符,而无需查看它们。删除省略字符时,将看不到插入光标移动。这有点奇怪

请注意,标记的文本可以跨越多行,因此所有行都会在文本小部件中折叠。在测试时,我想到的第一件事是,如果我正在实现一个源代码编辑器,并且想要添加折叠部分代码的功能,比如在一个if块中,省略的文本就是我想要使用的功能


谢谢你,福拉斯

看起来你的链接中已经有了所有需要的信息,所以请使用它们。@furas-Oops。你是对的。界面看起来很简单,只是在我看过的所有Tkinter文档中都没有记录。但是,果然,Text.tag_config'hidden'elide=1起作用。我认为可能需要直接调用Tk子系统。但是,当然,现在我在这里看到很多其他关于elide的参考文献。谢谢你,先生!看起来你的链接中已经有了所有需要的信息,所以请使用它们。@furas-Oops。你是对的。界面看起来很简单,只是在我看过的所有Tkinter文档中都没有记录。但是,果然,Text.tag_config'hidden'elide=1起作用。我认为可能需要直接调用Tk子系统。但是,当然,现在我在这里看到很多其他关于elide的参考文献。谢谢你,先生!声称elide将在未来改进。声称elide将在未来改进。