crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

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


Последние 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 Рейтинг@Mail.ru Текстовая версия Сейчас: 9.7.2025, 23:57