Когда textEdited()
сигнал textEdited()
, это может быть либо из-за того, что пользователь набрал/вставил/удалил/заменил какой-либо текст, либо может быть операцией отмены (пользователь нажал Ctrl + Z или нажал кнопку "Отменить" из контекстного меню),
Мне нужно как-то различать их. Есть ли способ получить уведомление, когда выполняется операция отмены операции - подписаться на сигнал, возможно, поймать событие? Я сам ничего не нашел в документации QLineEdit, но, возможно, я пропустил это.
Или есть способ просто проверить, было ли выполнено Отменено - возможно, флаг, или есть способ проверить, что такое размер стека Undo? Таким образом, я мог бы сравнить его с предыдущим размером, и если бы он уменьшился, я бы знал, что это Отменить.
Если вы хотите знать, зачем мне это нужно, я пытаюсь реализовать Редактируемый многоцветный QLineEdit, и мне это нужно, чтобы восстановить предыдущие цвета в случае операции отмены.
QLineEdit
предназначен для простого редактирования текста. Он не предназначен для поддержки расширенного форматирования. Вместо этого вы должны использовать QTextEdit
. В Интернете есть много образцов, как это сделать.
Если вы хотите практиковать в создании пользовательских текстовых редакторов, вам необходимо реализовать необходимый интерфейс (методы, сигналы) самостоятельно.