Заполнитель QtLineEdit: как заставить пользователя заменить символы 1 на 1 в режиме вставки - PullRequest
0 голосов
/ 26 апреля 2019

QtLineEdit - C ++ / Qt Creator 4.9 / Qt 5.12 / приложение для виджетов Windows

tldr: есть ли способ предотвратить мгновенное удаление текста-заполнителя при вводе пользователем, и вместо этого использовать егозаменяет символ на символ в режиме INSERT.

Пример:

[ ******** ]
[ a******* ]
[ ab****** ]

Трудно исследовать, потому что я получаю много результатов о совершенно разных проблемах с одинаковыми ключевыми словами.

Чтобы предоставитьнекоторый контекст, в случае, если, возможно, у кого-то есть хороший, но другой подход к решению проблемы:

Программа представляет собой персонализированный генератор публичных адресов для криптовалюты.Пользователь создает желаемый префикс или суффикс адреса, редактируя заполнитель.Так как генерировать соответствующий закрытый ключ экспоненциально сложнее, дизайн GUI должен препятствовать замене большего количества символов-заполнителей, чем разумных.Но я хочу, чтобы можно было решить, какие позиции символов вы хотите редактировать.

Примеры правильного пользовательского ввода (это еще не все, но вы поняли)

[test****************test]
[testest*****************]
[*****************testest]

Это будетоблегчить визуализацию желаемого результата

Спасибо!

1 Ответ

0 голосов
/ 26 апреля 2019

В этом случае вы можете захотеть создать подкласс QLineEdit и переопределить одну из его функций обработки ввода .В частности, вы можете создать переопределенную реализацию keyPressEvent(QKeyEvent *event), которая корректирует текст QLineEdit.Текст заполнителя нельзя использовать постоянно, так как он обрабатывается отдельно от текста модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...