在 QTextEdit 中搜索字符串

Search string in QTextEdit on typing

本文关键字:字符串 搜索 QTextEdit      更新时间:2023-10-16

我在屏幕上有一个QTextEdit,里面有文字。我希望能够键入搜索字符串,并将光标移动到QTextEdit中该字符串的下一个匹配项 - 但实际上我的输入不会进入文本编辑。如果QTextEdit有焦点,我键入的内容就会进入其中,如果它没有焦点,则没有光标。谁能帮忙?

您有两种可能性:

  1. 重新实现QTextEdit::keyPressEvent以捕获输入的文本而不显示它。作为替代方法,您可以使用事件过滤器,其优点是不必QTextEdit子类化。

    创建一个(小
  1. (搜索框小部件(例如。QLineEdit在你的QTextEdit之上(,你把重点放在你的主要QTextEdit上。这样,当前搜索字符串将反馈给用户。

请注意,由于视觉反馈,我更喜欢第二个选项。