Russian Qt Forum

Qt => Вопросы новичков => Тема начата: demaker от Март 26, 2013, 13:47



Название: QEvent, QMouseEvent,QKeyEvent
Отправлено: demaker от Март 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)
}

так получится так что я вообще все события перекрываю???
или я ошибаюсь???


Название: Re: QEvent, QMouseEvent,QKeyEvent
Отправлено: demaker от Март 26, 2013, 14:17
Спасибо все сделал сам

Код:

void Widget::wheelEvent(QWheelEvent *event)
{

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