是否有一种简单的方法可以更改"文本已更改" QTextEdit中的状态?

时间:2016-02-28 09:54:27

标签: c++ qt5 qtextedit

我需要验证我的源文件,甚至省略一些" service"线, 所以我使用appendPlainText()的{​​{1}}来做。附加一条线 当然意味着更改,因此在加载文件后,星号表示文件已更改。我想有更一致的行为,加载后,这个状态信号没有设置。加载文件后如何重置?

1 个答案:

答案 0 :(得分:1)

您可以通过两次QObject::blockSignals电话包围发出不需要信号的部分代码:

textEdit->blockSignals(true);
// load from file
textEdit->blockSignals(false);

或直接在QTextEdit::document上(我想会阻止更少的其他信号):

textEdit->document()->blockSignals(true);
// load from file
textEdit->document()->blockSignals(false);

甚至可能在加载后立即调用QTextEdit::setModified(将发出两个信号)。

尝试其中的每一个并告诉我它们是否有效。