Tkinter 到 pyqt5 - Text_editor?

Tkinter to pyqt5 - Text_editor?

我正在移植一些使用 tkinter 创建的代码。它是一些基于正则表达式的查找和替换。

def replace():
    text_editor.replace('1.0', 'end', re.sub("\d+", '<number>', text_editor.get('1.0', 'end')))
    text_editor.replace('1.0', 'end', re.sub(r'([A-Z][a-zA-Z]*[A-Z]|(?:[A-Z]\.)+)', 'Acronymn', text_editor.get('1.0', 'end')))

text_editor.replace、text_editor.get('1.0'、'end')在 pyqt5 中的等价物是什么。如何使用 pyqt5 查找和替换正则表达式模式?

您不应该寻找等效的功能,而应该了解每段代码的作用,然后使用其他技术构建逻辑。

在这个 text_editor.get ('1.0', 'end') 中,您可以获得所有文本,因此如果您使用 QTextEdit,那么您应该使用 text_editor.toPlainText()

text_editor.replace('1.0', 'end', ...)相同,其任务是替换所有文本,因此必须替换为text_editor.setPlainText()

text_editor.setPlainText(re.sub("\d+", '<number>', text_editor.toPlainText()))
text_editor.setPlainText(re.sub(r'([A-Z][a-zA-Z]*[A-Z]|(?:[A-Z]\.)+)', 'Acronymn', text_editor.toPlainText()))