Мне нужно проверить исходный файл и даже опустить некоторые «служебные» строки, , поэтому я делаю это, используя appendPlainText()
из QPlainTextEdit
. Например, добавление строки означает изменение, поэтому после загрузки файла появляется звездочка, означающая, что файл изменился. Я хотел бы иметь более последовательное поведение, которое после загрузки, этот сигнал состояния не установлен. Как я могу сбросить его после загрузки файла?Есть ли простой способ изменить статус «text changed» в QTextEdit?
1
A
ответ
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
сразу после загрузки (два сигнала будут испускаться).
Попробуйте каждый из них и сообщите мне, если какой-либо из них не работает.