Как отформатировать виджет редактирования текста кредитной карты? - PullRequest
2 голосов
/ 18 апреля 2019

Я пытаюсь создать собственный формат для виджета моей кредитной карты.После первых 4 цифр следует тире '-', затем после 3 цифр еще одна тире, а затем еще 2 цифры.

Пример: 1234-678-52.

Как настроить форматирование текста так, чтобы оно уже содержало '-' и соответствовало формату, описанному выше?

Встроенныйв виджете даты есть что-то похожее: '/' имеет разделитель.

Ответы [ 2 ]

1 голос
/ 20 апреля 2019

Вы можете использовать три поля ввода.Поместите их в одну линию, нарисуйте '-' между ними и добавьте маски ввода и некоторую логику.

  • Маски ввода: 999, 9999, 99
  • Логика 1: Перейти кследующее поле ввода, как только ввод будет принят
  • Логика 2: перейти к предыдущему полю, как только все символы будут удалены (необязательно)

Теперь пользователь сможет ввестицелое число без нажатия клавиши TAB или «-».

1 голос
/ 18 апреля 2019

Если вы используете QLineEdit, вы можете использовать свойство inputMask :

your_qlineedit->setInputMask("999-9999-99");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...