Класс Qt QMouseEvent

#qt

#qt

Вопрос:

Я новичок в фреймворке Qt и пытался запрограммировать игру и понял, что нет сигнала для «щелчка правой кнопкой мыши ()». Я прочитал документацию и узнал, что мне пришлось использовать класс «QMouseEvent», но я просто не могу понять, как это работает.. Кто-нибудь, помогите мне.

Ответ №1:

Использовать Qt::MouseButtons QMouseEvent::buttons() const . Он возвращает, согласно документации Qt:

Возвращает состояние кнопки, когда было сгенерировано событие. Состояние кнопки представляет собой комбинацию Qt::leftButton, Qt::RightButton, Qt::MidButton с использованием оператора OR

Итак, все, что вам нужно сделать, это:

 void mouseMoveEvent(QMouseEvent *e) {

    if(e->buttons() == Qt::RightButton)
        qDebug() << "The right button was clicked";
}