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);
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Алексей1153
  опции профиля:
сообщение 26.7.2013, 6:36
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


по меньшей мере нужно проверять, что объект наш

bool AddForm::eventFilter(QObject *obj, QEvent *evt)
{
   if(obj==m_addTable )
   {
       ....
   }

    return QWidget::eventFilter(obj, evt);
}


но, может, и не в этом дело )

onOKButtonClicked() - это у тебя слот ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




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