问题标签 [tkinter.text]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
12123 浏览

python - 讲解Tkinter文本搜索方法

我不太明白 text.search 方法是如何工作的。例如有一句话:Today a red car appeared in the park.我需要找到a red car序列并突出显示它。找到了,但这是我的突出显示的样子:

在此处输入图像描述

在此处输入图像描述

self.text.search(word, start, stopindex=END)在句子上使用。看起来搜索方法的工作方式与 python 的正则表达式搜索完全一样。添加exact=True并没有改变任何东西,因为它是默认行为,这就是为什么我不明白 exact=True 的实际含义。如何a red car正确突出显示?

0 投票
3 回答
7039 浏览

python - Python tkinter 文本修改回调

在 python 2.7 中,每当 Tkinter Text 小部件中的某些内容发生更改时,我都会尝试获取回调。

该程序使用基于此处找到的代码的多个帧:在 tkinter 中的两个帧之间切换

回调部分取自以下示例:http ://code.activestate.com/recipes/464635-call-a-callback-when-a-tkintertext-is-modified/

两个代码单独工作都很好,但是将这两个代码结合起来对我来说很困难。这是我尝试使用尽可能简单的代码。

我尝试仅从回调示例中获取必要的部分。当文本被修改时,代码确实会进行回调(如果 self.tk.call(self._w, 'edit', 'modified', 0)行被注释掉),但是重置修改的标志不起作用,所以只有第一次修改被注册。

目前我收到以下错误:
第 67 行,在 clearModifiedFlag self.tk.call(self._w, 'edit', 'modified', 0) _tkinter.TclError: bad option "edit": must be cget or configure

在回调示例代码“编辑”工作正常。

编辑:这是工作代码

0 投票
1 回答
314 浏览

python - 在 tkinter 中只选择文本而不是整行

我试图只选择 ScrolledText 中输入的单词,但整行都被选中了。选择所有代码:

这是正在发生的事情, 在此处输入图像描述

这是我想做的, 在此处输入图像描述

请注意,在第二张图片中,只选择了单词的结尾,但在第一张图片中,整行都被选中了。tkinter 是否可以实现此功能?

我正在使用 python 3.6

0 投票
2 回答
299 浏览

python - Tkinter Text Widget Ctrl+A + DEL 删除标签

在 Text Widget 中,当我使用 Ctrl++删除所有文本ADEL,标签被删除。

如何解决?

这是标签代码:

0 投票
1 回答
577 浏览

python - 在 tkinter Text 中查找使用 window_create 创建的元素的索引

我使用 window_create 在 Text 元素中创建交互式按钮。按钮代表随机或静态值,我希望能够编译文本元素的内容并用它们各自的值替换按钮。但是,我找不到任何按钮的位置。

我试过self.text.get("1.0",tk.END)了,但它只返回文本,不包括按钮元素

按钮元素的创建方式如下:

编辑:如果您想重新创建问题,请使用:

注意按钮在文本字段中的显示方式,但没有打印出来

(输出是 before buttonafter button我想要类似的东西before button<button>after button或一个函数,它会告诉我在索引 y 处的 x 行有一个按钮)

0 投票
1 回答
1054 浏览

python - 替换 Tkinter Text 小部件中的特定单词

我想知道是否有办法替换 Tkinter Text 小部件中特定单词的所有实例。
例如

假装这是我的文本小部件:
Hello how are you? How is the weather?

我想按下一个按钮并用单词“python”替换单词“how”的所有实例

Hello python are you? python is the weather?

我可能需要使用 search() 函数,但我不确定从那里做什么。

谢谢你的帮助 :)

0 投票
1 回答
420 浏览

python - 检查字符串是否是 Tkinter Text Widget 中的单词或单词的一部分

我正在为 tkinter 文本小部件开发拼写检查器。我已经让它工作,以便用户可以选择一个不正确的单词并替换文本小部件中不正确单词的所有实例。但是,如果该单词出现另一个单词中,它也会替换它。我不想要这个。

例如:假设用户有句子: Hello how ay you today 并且他们错过了将单词' are '拼写为' ay ',他们可以右键单击它以替换所有实例或将单词' ay '替换为' are '。

我的问题是,字符串“ ay ”出现在“今天”中。这意味着当用户右键单击“ ay ”时,它会将“ today ”变成“ todare ”——将“ today ”中的“ ay ”替换为“ are

要替换我正在使用搜索功能的单词。我想检查一下错过拼写的单词两边的字符是否是空格,但我不知道如何实现它。下面是我的代码(注意 - 这已大大简化,我的实际代码长达数千行。在实际程序中,按钮是一个上下文菜单):

就像我之前说的,如果用户写ll ll hello了 ' ll ' 拼写错误(假设程序会将其更正为 I'll),当用户按下按钮时,它应该替换所有写为 ' ll ' 的单词,而不是替换'你好'中的' ll '。

这个: ll ll hello -> I'll I'll hello不是: ll ll hello ->I'll I'll heI'llo

谢谢你的帮助。

(我正在使用带有 Python 3.7 的 Windows 10)

0 投票
0 回答
63 浏览

python - 在 Tkinter 文本中撤消和重做时如何保留样式信息(标签)?

我正在 Python 3.7.4 / Tkinter 8.6 / Windows 10.0.18362.356 中编​​写一个 html 编辑器,并且正在使用标签来设置文本的样式<em><strong>等等。但是,内置的撤消/重做机制会删除这些标签,例如,如果我立即重做撤消后。在我发疯试图实现我自己的撤消/重做机制之前,有什么我遗漏的吗?

现在:

  1. 运行程序。

  2. 将文本插入文本Hello, World!框中。

  3. lo, Wo使用鼠标选择文本。

  4. ctrl-b。所选文本变为粗体。

  5. ctrl-z。部分或全部文本消失。

  6. ctrl-y。文本再次出现。

现在,我希望使用其他文字处理程序,文本在重新出现时仍会被标记。然而,事实并非如此。

谢谢。

0 投票
1 回答
472 浏览

python - 从 tkinter 文本框中一次读取一行

我可以从输入框中一次读取一行,并将其显示在一个新框中,但我需要前进到下一行代码。

这是 GUI 中的文本框

这些是我从一个盒子复制到另一个盒子的功能(输出将insert()进入lexicalResult()函数)

0 投票
1 回答
33 浏览

python - 为什么结束索引 2.0 没有在第 2 行的开头终止 get 函数?

我无法捕获 Tkinter Text 的小部件第一行代码

在两种情况下,在输入文本小部件字段中输入和不输入换行符。

此外

  • 我想捕获第二行代码
  • 然后是第三行。

我不是说,排队换行符 char
我的意思是一行,如 chars 中文本小部件的 length = width 的行

传递floatsandstrings作为参数和文字来测试不那么通用和持久的简单案例。

这会抓取输入行末尾的所有内容(意思是直到第一个换行符)。