crossplatform.ru

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

> Горячая клавиша поиска в QTableView
Ponter
  опции профиля:
сообщение 14.2.2013, 13:00
Сообщение #1


Студент
*

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

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




Репутация:   0  


Есть таблица, унаследованная от QTableView. Переопределил метод keyPressEvent. Пытаюсь отловить комбинацию Ctrl+F. И никак. Пробовал разные варианты:
1) (e->key() == Qt::Key_F) && (e->modifiers() & Qt::ControlModifier)
2) e->matches(QKeySequence::Find)
Причем другие клавиши и комбинации с Ctrl он без проблем перехватывает, например Ctrl+C.
Что не так и как мне добиться решения?
Спасибо
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Ponter
  опции профиля:
сообщение 15.2.2013, 15:01
Сообщение #2


Студент
*

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

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




Репутация:   0  


class FindTable : public QTableView
{
    Q_OBJECT
    public:
        FindTable(QWidget *parent = 0);
        ~FindTable();

    protected:
        void keyPressEvent(QKeyEvent *event);
};


FindTable::FindTable(QWidget *parent) : QTableView(parent)
{
    _lblSearch = new QLabel(this);
    _lblSearch->move(5, 5);
    _lblSearch->setStyleSheet("QLabel { background-color : white; color : blue; }");
    _lblSearch->hide();

    _findDlg = new FindDialog(this);

    connect(this, SIGNAL(clicked(const QModelIndex &)),
            this, SLOT(slIndexChanged()));
}

FindTable::~FindTable()
{    
}

void FindTable::keyPressEvent(QKeyEvent *e)
{
    if (e->modifiers() & Qt::CtrlModifier && e->key() == Qt::Key_F)
    {
        //todo
    }
    QTableView::keyPressEvent(e);
}


Вызов в конструкторе QMainWindow, используется QSqlQueryModel и ui->table->setModel();


То что в конструкторе не обращайте внимания: забыл удалить
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 29.11.2024, 13:47