QLineEdit и слежение за вводом (Qt4)

Модератор: Модераторы разделов

Аватара пользователя
Assuri
Сообщения: 678
Статус: #include <brain.h>
ОС: Fedora 12

QLineEdit и слежение за вводом

Сообщение Assuri »

Как мне сделать так, чтобы пользователь мог вводить только цифры? setInputMask() накладывает ограничение на количество цифр, а мне этого не надо.
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: QLineEdit и слежение за вводом

Сообщение eduard_pustobaev »

А почему бы не использовать QSpinBox(QDoubleSpinBox), если нужны только цифры?
В дисгармонии со вселенной.
Спасибо сказали:
Аватара пользователя
Assuri
Сообщения: 678
Статус: #include <brain.h>
ОС: Fedora 12

Re: QLineEdit и слежение за вводом

Сообщение Assuri »

eduard_pustobaev писал(а):
15.09.2007 17:44
А почему бы не использовать QSpinBox(QDoubleSpinBox), если нужны только цифры?

Я об этом даже не подумал :) Спасибо.
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: QLineEdit и слежение за вводом

Сообщение Liksys »

Спасибо сказали:
Аватара пользователя
Atragor
Сообщения: 681
Статус: ...

Re: QLineEdit и слежение за вводом

Сообщение Atragor »

Перепишите обработчик нажатия клавиш.

Код: Выделить всё

void LE::keyPressEvent(QKeyEvent * event)
{
    if (event->key() >= Qt::Key_0 && event->key() <= Qt::Key_9)
        QLineEdit::keyPressEvent(event);
}


Хотя тогда там еще надо будет учитывать нажатия Delete, Backspace и стрелок :)
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
Спасибо сказали:
Аватара пользователя
Assuri
Сообщения: 678
Статус: #include <brain.h>
ОС: Fedora 12

Re: QLineEdit и слежение за вводом

Сообщение Assuri »

Спасибо за новые советы, но проблема уже решена.
Спасибо сказали: