Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: xintrea от Май 20, 2018, 22:17



Название: Что-то не пойму как использовать QValidator совместно с QComboBox
Отправлено: xintrea от Май 20, 2018, 22:17
Имею такой код:

Код:
#define MINIMUM_ALLOWED_FONT_SIZE 5
#define MAXIMUM_ALLOWED_FONT_SIZE 99

QComboBox fontSize;
...
fontSize.addItem("-",0);
for(int i=MINIMUM_ALLOWED_FONT_SIZE; i<=MAXIMUM_ALLOWED_FONT_SIZE; ++i)
    fontSize.addItem(QString("%1").arg(i),i);

fontSize.setEditable(true);
QValidator *fontsizeValidator = new QIntValidator(MINIMUM_ALLOWED_FONT_SIZE, MAXIMUM_ALLOWED_FONT_SIZE, this);
fontSize.setValidator(fontsizeValidator);


По идее, в таком комбо-боксе не должна быть возможность:

- выбрать первый пункт "-"
- написать что-то отличное от чисел 5-99

На деле можно выбрать и "-", и написать любые символы, например буквы.

Вопрос: как, блин работает этот валидатор?