Russian Qt Forum

Qt => Вопросы новичков => Тема начата: cool.nikkita2012 от Декабрь 09, 2015, 13:14



Название: QValidator, запрет на ввод
Отправлено: cool.nikkita2012 от Декабрь 09, 2015, 13:14
Здравствуйте, у меня вопрос:
   Как сделать так, чтобы в lineEdit не вводились символы, которые не должны быть там?
Искал в гугле, но там не то, что надо


Название: Re: QValidator, запрет на ввод
Отправлено: kambala от Декабрь 09, 2015, 13:24
QRegExpValidator например, через регулярное выражение задаешь разрешенные символы


Название: Re: QValidator, запрет на ввод
Отправлено: cool.nikkita2012 от Декабрь 09, 2015, 13:26
Объясните всё по порядку, пожалуйста
В смысле, что это такое и как им пользоваться


Название: Re: QValidator, запрет на ввод
Отправлено: gil9red от Декабрь 09, 2015, 14:08
Объясните всё по порядку, пожалуйста
В смысле, что это такое и как им пользоваться

Копируете и вставляете в поисковую систему "QRegExpValidator" первой ссылкой открываете документацию в ней тыкаете на More и видите как им пользоваться :)

Один из примеров (http://doc.qt.io/qt-4.8/qregexpvalidator.html#details):
Код
C++ (Qt)
// regexp: optional '-' followed by between 1 and 3 digits
QRegExp rx("-?\\d{1,3}");
QValidator *validator = new QRegExpValidator(rx, this);
 
QLineEdit *edit = new QLineEdit(this);
edit->setValidator(validator);
 

В том примере мы говорим, что нам нужно число от 1 до 3 символов с необязательным минусом