2013-03-13 2 views
0

Мне нужен виджет от QComboBox, пользователь может выбрать элемент из всплывающего окна или ввода непосредственно в linedit, но как предотвратить входы вне диапазона элементов в QComboBox? или может ли текст, вводимый в lineedit, всегда легальным?
БлагодаряКак запретить пользователю вводить незаконный текст в lineedit QComboBox?

ответ

2

Обратитесь к функции QComboBox::setValidator(const QValidator*) члена:

http://qt-project.org/doc/qt-4.8/qcombobox.html#setValidator

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

Qt предоставляет три валидатора: QIntValidator для ограничения ввода целых чисел в определенном диапазоне; QDoubleValidator для ограничения ввода значений плавающей запятой в пределах определенного диапазона и с заданной точностью; и QRegExpValidator, чтобы ограничить входные данные определенным регулярным выражением. Если ваши требования к проверке более сложны, вы можете также подкласса QValidator и написать свой собственный, а затем установить его в поле со списком. См. Также: http://qt-project.org/doc/qt-4.8/qvalidator.html

+0

Спасибо! Именно то, что я хочу! – zhangailin

Смежные вопросы