Russian Qt Forum

Qt => Вопросы новичков => Тема начата: qt_newer от Август 18, 2014, 17:06



Название: Android default keyboard
Отправлено: qt_newer от Август 18, 2014, 17:06
Есть код типа:
QLineEdit *ed = new QLineEdit;
Фокус ивент приводит к открытию встроенной клавиатуры в режиме qwerty, каким образом можно заставить ее открываться в цифровом режиме? (без использования xml, qml etc. ; использую для Asus Tablet)
Спасибо заранее!





Название: Re: Android default keyboard
Отправлено: Old от Август 18, 2014, 17:27

Код
C++ (Qt)
QLineEdit *ed = new QLineEdit;
ed->setInputMethodHints(Qt::ImhDigitsOnly);
 


Название: Re: Android default keyboard
Отправлено: qt_newer от Август 18, 2014, 17:58
Спасибо! А из этого режима можно как-то перейти к буквенному вводу, т.е. в идеале хотелось бы получить то, что из qwerty клавиатуры открывается по нажатию "?123"


Название: Re: Android default keyboard
Отправлено: qt_newer от Август 19, 2014, 11:30
И еще один вопрос:
у меня на фокус ивент в зависимости от поля ввода должны открываться либо встроенная клавиатура, либо мой полноэкранный селект бокс. Проблема в том, что  в некоторых случаях (м.б. 1 из 10) при выборе поля, вызывающего селект, встроенная клавиатура открывается тоже. Добавление в начало соотв. слота: QGuiApplication::inputMethod()->hide(); не помогает, возможно, надо еще небольшую задержку добавить, но мне кажется, это уж какой-то совсем неправильный способ