Russian Qt Forum
Ноябрь 26, 2024, 05:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Глобальный перехват событий клавиатуры и мыши  (Прочитано 7441 раз)
diduz
Гость
« : Январь 20, 2012, 11:33 »

Второи день ищу кросплатформенное решение этои проблемы. Поиск по форуму выдал http://www.prog.org.ru/topic_8646_0.html
и
http://www.prog.org.ru/topic_9348_0.html

Но в оба топика советуют ознакомиться с темой "Как перехватить глобальное нажатие клавиш?" ссылка на которую битая.Подскажите как можно решить данную проблему?
Записан
GraninDm
Гость
« Ответ #1 : Январь 25, 2012, 09:44 »

Может вот это поможет
http://www.prog.org.ru/topic_6550_0.html

И попутно у меня вопрос.

Сделал как написано в приведенном топике.
Все работает в пределах приложения как нужно.
Но хочется сделать так, чтобы окна сами обрабатывали некоторые комбинации
Код:
bool AppShortCut::eventFilter(QObject *obj, QEvent *event)
{
    if (event->type() == QEvent::KeyPress) {
        QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
        if (keyEvent->key() == Qt::Key_F1) {
            return QApplication::activeWindow().eventFilter(obj, event);
        } else
            return false;
    }
    return false;
}

return QApplication::activeWindow().eventFilter(obj, event);
Вот тут затык.
request for member 'eventFilter' in 'QApplication::activeWindow()', which is of non-class type 'QWidget*'

Дополню...
Заработало...
Просто нужно было подключить #include <QWidget>
« Последнее редактирование: Январь 25, 2012, 14:20 от GraninDm » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 21.