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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QEvent, QMouseEvent,QKeyEvent  (Прочитано 2536 раз)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« : Март 26, 2013, 13:47 »

Добрый день!
Подскажите как мне сделать, чтобы при зажатом ctrl и при прокручивании скролла мыши - выдавалось сообщение в консоль сколько просроллил.

пытаюсь сделать так:
Код:
void Widget::keyPressEvent(QKeyEvent *event)
{
    if (event->key() == Qt::Key_Control)
    {
        ctrl = true;
        qDebug()<<"Press";
    }

    event->accept();
}

void Widget::keyReleaseEvent(QKeyEvent *event)
{
    if (event->key() == Qt::Key_Control)
    {
        ctrl = false;
        qDebug()<<"Release";
    }

    event->accept();
}

смотрим зажат ctrl или нет
ну а с мышью???

У QMouseEvent я ничего не нашел кроме
Код:
QMouse:: button() и  Qt::MiddleButton

хотел сделать так:
Код:

bool plotWidget::event(QEvent *e)
{
    if (e->type() == QEvent::MouseTrackingChange)
}

так получится так что я вообще все события перекрываю???
или я ошибаюсь???
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #1 : Март 26, 2013, 14:17 »

Спасибо все сделал сам

Код:

void Widget::wheelEvent(QWheelEvent *event)
{

    if (event->modifiers() == Qt::ControlModifier)
    {
        qDebug()<<"ctrl + scroll";
    }
    event->accept();
}

Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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