crossplatform.ru

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

> События нажатия клавиш в консоли...
ViGOur
  опции профиля:
сообщение 11.12.2007, 15:28
Сообщение #1


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Думал, что можно отлавливать события нажатия клавиш в консоли с помощью QKeyEvent, сделал так:
#include <QtCore/QCoreApplication>
#include <QKeyEvent>


class KeyPressEater : public QObject
{
protected:
    bool eventFilter(QObject *obj, QEvent *event);
};


bool KeyPressEater::eventFilter(QObject *obj, QEvent *event)
{
    if (event->type() == QEvent::KeyPress)
    {
        QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
        qDebug("Ate key press %d", keyEvent->key());
        return true;
    }
    else
    {
        // standard event processing
        return QObject::eventFilter(obj, event);
    }
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    KeyPressEater *pKeyPressEater = new KeyPressEater();
    a.installEventFilter( pKeyPressEater);

    return a.exec();
}
Но так я не могу получить нажатия клавиш. :(
Почему? Как мне всетаки можно получить нажатия клавиш в консоли?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 28.1.2011, 21:11
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Гость_oklas_*, если уж поднимать старую тему (3-х летней давности), то только ради хорошего решения. У тебя же вообще его нет. Приведённый код не обрабатывает события клавиш в консоли, а просто читает стандартный ввод в цикле, не давая приложению делать что-то ещё.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 23.12.2024, 0:26