crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Ошибка в отлове события KeyPress для таблицы
pharret31
  опции профиля:
сообщение 25.7.2013, 19:04
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 20.4.2013
Пользователь №: 3802

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброго времени суток!

Подскажите, пожалуйста, что с этим можно сделать? :unsure:
Нужно при нажатии на Enter вызывать функцию, которая обрабатывает значения в таблице и закрывает форму, но чегой-то тут не так =)

AddForm::AddForm(QWidget *parent) :
    QWidget(parent)
{
...

    m_addTable = new QTableWidget();
    m_addTable->installEventFilter(this);

...
}


bool AddForm::eventFilter(QObject *obj, QEvent *evt)
{
    if (evt->type() == QEvent::Resize)
    {
        stretchValueColumn();
    }
    else if (evt->type() == QEvent::KeyPress)
    {
        QKeyEvent *keyEvent = (QKeyEvent *)evt;

        if (keyEvent->key() == Qt::Key_Enter)
        {
            onOKButtonClicked();
        }
    }

    return QWidget::eventFilter(obj, evt);
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ilyabvt
  опции профиля:
сообщение 25.7.2013, 19:52
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


А что возвращает keyEvent->key()?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
pharret31
  опции профиля:
сообщение 25.7.2013, 20:07
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 20.4.2013
Пользователь №: 3802

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(ilyabvt @ 26.7.2013, 0:52) *
А что возвращает keyEvent->key()?


16777220
это цифровой код клавиши Enter и именно его нужно писать в условие вместо Qt::Key_Enter? :blink:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.11.2024, 7:45