Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [qt] Проверить на корректный ввод данных


Автор: NZero 28.10.2011, 17:02
Всем привет! В QT cделал проверку на корректность ввода данных

Код

QRegExp nameRag("0-9");
QRegExpValidator *nameValidator = new QRegExpValidator(nameRag, this);
 
if( ! ui->TextCorrupt->setValidator(nameValidator))
{
   QMessageBox::critical(this, "Внимание", "Введены неккоректные данные - буквы! Повторите ввод");
}


Но при отдладке выдает ошибку
ошибка: ошибка преобразования ‘((FormSettingsEth1*)this)->FormSettingsEth1::ui->Ui::FormSettingsEth1::<anonymous>.Ui_FormSettingsEth1::TextCorrupt->QLineEdit::setValidator(((const QValidator*)nameValidator))’ в ‘bool’
Как сделать правильно? 

Автор: math64 28.10.2011, 19:38
Код

QRegExp nameRag("[0-9]+");
QRegExpValidator *nameValidator = new QRegExpValidator(nameRag, this);
ui->TextCorrupt->setValidator(nameValidator);

Сообщение никакое выдвать не нужно - валидатор просто не позволит вводить неправильные данные (в данном случае не цифры)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)