crossplatform.ru

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


  Ответ в keyPressEvent не срабатывает на "Key_Up" и "Key_Down"
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
potkin Дата 24.11.2010, 17:45
  crashsp,
Спасибо )))
crashsp Дата 24.11.2010, 11:08
  Тут высылать то не чего
Тебе же я как понимаю нужно ловить событие в QTableView соответственно
надо переопределить событие именно в своем классе унаследованном от QTableView
простой пример
h.файл
#include <QTableView>
class tableView:public QTableView
{
public:
    tableView(QWidget* parent = 0);
    void keyPressEvent(QKeyEvent *event);
};

cpp.файл
#include "tableview.h"
#include <QDebug>
#include <QKeyEvent>
tableView::tableView(QWidget *parent):QTableView(parent)
{

}

void tableView::keyPressEvent(QKeyEvent *event){
    switch(event->key()){
    case Qt::Key_Up:

             qDebug()<<"Press Up";
               break;

           case Qt::Key_Down:
              qDebug()<<"Press Down";
               break;

    }
    QTableView::keyPressEvent(event);
}


Вот и все ...
potkin Дата 24.11.2010, 10:09
  crashsp,
Цитата
ты ее реализуешь в точно в QTableView ???

Нет.
Можешь свой рабочий пример выслать ???
crashsp Дата 23.11.2010, 15:54
 
Цитата(potkin @ 23.11.2010, 16:49) *
crashsp,
Цитата
только добавил в конец QTableView::keyPressEvent(event);

А в конец чего добавили, если не секрет ???


) не секрет, в конец функции void RuhCinCap::keyPressEvent (QKeyEvent * e)

ты ее реализуешь в точно в QTableView ???

potkin Дата 23.11.2010, 15:49
  crashsp,
Цитата
только добавил в конец QTableView::keyPressEvent(event);

А в конец чего добавили, если не секрет ???
crashsp Дата 23.11.2010, 15:42
  Скопировал твой код и все работает, только добавил в конец QTableView::keyPressEvent(event); но дело не в этом...
так что смотри свои код...
potkin Дата 23.11.2010, 12:24
  Есть QTableView.
Надо на событие "нажата клавиша" "Up" или "Down" среагировать. Делаю так:
void RuhCinCap::keyPressEvent (QKeyEvent * e)
{
    switch(e->key())
        {
        case Qt::Key_Up:
            ShowRuhCinCap_Data();
            break;
        case Qt::Key_Down:
            ShowRuhCinCap_Data();
            break;
        }
}

Не реагирует, даже так:
void RuhCinCap::keyPressEvent (QKeyEvent * e)
{
       ShowRuhCinCap_Data();
}


А реагирует только на нажатие клавиш типа: Ентер, F1, F2, ... Esc, ... А вот, мне бы надо "реакцию" на клавиши: вверх, вниз, можно и влево и вправо ...
Может кто знает ???
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 1.7.2022, 14:27