Проверьте, посылается ли сигнал textEdited () из-за операции отмены в QLineEdit

Когда textEdited() сигнал испускается, это может быть либо потому, что пользователь набрал / вставил / удалил / заменил какой-то текст, либо это может быть операция отмены (пользователь нажал Ctrl + Z или щелкнул отмену в контекстном меню).

Мне нужно как-то различать их. Есть ли способ получить уведомление о выполнении операции отмены — подписаться на сигнал, возможно, поймать событие? Я ничего не мог найти в документации по QLineEdit, но я мог пропустить это.

Или есть способ просто проверить, была ли выполнена Отмена — возможно, флаг, или есть способ проверить, каков размер стека отмен? Таким образом, я мог бы сравнить его с предыдущим размером, и если бы он уменьшился, то я бы знал, что это Отмена.

Если вы хотите знать, зачем мне это нужно, я пытаюсь реализовать Редактируемый многоцветный QLineEdit, и мне это нужно для того, чтобы восстановить предыдущие цвета в случае операции отмены.

0

Решение

QLineEdit предназначен для редактирования простого текста. Он не предназначен для поддержки расширенного форматирования. Вы должны использовать QTextEdit вместо. Есть много образцов в интернете, как это сделать.

Если вы хотите попрактиковаться в создании пользовательских текстовых редакторов, вам следует самостоятельно реализовать необходимый интерфейс (методы, сигналы).

0

Другие решения


По вопросам рекламы [email protected]