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