1
我需要驗證我的源文件,甚至省略一些「服務」行, ,所以我使用appendPlainText()
的QPlainTextEdit
。附加一行 當然意味着更改,因此加載文件後,星號表示文件已更改。我想有更加一致的行爲,加載後,這個狀態信號沒有設置。我在加載文件後如何重置它?有沒有簡單的方法來改變QTextEdit中的「文本更改」狀態?
我需要驗證我的源文件,甚至省略一些「服務」行, ,所以我使用appendPlainText()
的QPlainTextEdit
。附加一行 當然意味着更改,因此加載文件後,星號表示文件已更改。我想有更加一致的行爲,加載後,這個狀態信號沒有設置。我在加載文件後如何重置它?有沒有簡單的方法來改變QTextEdit中的「文本更改」狀態?
可以圍繞該兩個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
(發出兩個信號)。
嘗試每個這些出來,並告訴我,如果他們中的任何一個不工作。