2

Добрый день!

Вот пример кода

Widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;

    // QWidget interface
protected:
    void mousePressEvent(QMouseEvent *event);
    void mouseReleaseEvent(QMouseEvent *event);
};

#endif // WIDGET_H

Widget.cpp

#include "Widget.h"
#include "ui_Widget.h"

#include <QApplication>
#include <QDebug>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::mousePressEvent(QMouseEvent *event)
{
    switch (QApplication::keyboardModifiers())
    {
        case Qt::KeyboardModifier::ShiftModifier:
        {
            qDebug() << "Mouse press event with Shift";
            break;
        }
        case Qt::KeyboardModifier::ControlModifier:
        {
            qDebug() << "Mouse press event with Ctrl";
            break;
        }
        case Qt::KeyboardModifier::AltModifier:
        {
            qDebug() << "Mouse press event with Alt";
            break;
        }
        default:
            qDebug() << "Without modifier";
    }
}

void Widget::mouseReleaseEvent(QMouseEvent *event)
{
    switch (QApplication::keyboardModifiers())
    {
        case Qt::KeyboardModifier::ShiftModifier:
        {
            qDebug() << "Mouse release event with Shift";
            break;
        }
        case Qt::KeyboardModifier::ControlModifier:
        {
            qDebug() << "Mouse press event with Ctrl";
            break;
        }
        case Qt::KeyboardModifier::AltModifier:
        {
            qDebug() << "Mouse press event with Alt";
            break;
        }
        default:
            qDebug() << "Without modifier";
    }
}


Вывод qDebug

Without modifier
Without modifier
Mouse press event with Ctrl
Mouse press event with Ctrl
Mouse press event with Ctrl
Mouse release event with Shift
Without modifier
Mouse press event with Alt
Mouse press event with Shift
Mouse release event with Shift
Without modifier
Without modifier
a
  • 5 ноября 2019 г. 12:30

Спасибо.Это то самое-что надо.

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Timeweb

Позвольте мне порекомендовать вам отличный хостинг, на котором расположен EVILEG.

В течение многих лет Timeweb доказывает свою стабильность.

Для проектов на Django рекомендую VDS хостинг

Посмотреть Хостинг
VD

C++ - Тест 001. Первая программа и типы данных

  • Результат:73баллов,
  • Очки рейтинга1
Ds

C++ - Тест 003. Условия и циклы

  • Результат:64баллов,
  • Очки рейтинга-1
o

C++ - Тест 001. Первая программа и типы данных

  • Результат:86баллов,
  • Очки рейтинга6
Последние комментарии
D:

QML - Урок 016. База данных SQLite и работа с ней в QML Qt

Добрый день, пытаюсь разобраться и подргнать пример под себя. Есть бд с огромным количеством полей. В приложении на виджетах при использовании QTableView все работает и путем простого sql запрос…

Django - Урок 039. Добавление личных сообщений и чатов на сайте - Часть 2 (Счётчик диалогов и чатов с непрочитанными сообщениями)

Добавляйте поле файла в модель сообщения. И в форме сообщения указывайте, что поле с файлом.
s

Django - Урок 023. Like Dislike система с помощью GenericForeignKey

все, я со всем разобрался!) Извините!)
s

Django - Урок 023. Like Dislike система с помощью GenericForeignKey

Доброго времени суток!) Я случайно набрел на вашу статью, и она помогла мне решить некоторые мои трудности, я прошел за вами по шагам, в попытках адаптировать это под себя, и возник вопрос. У ва…
Сейчас обсуждают на форуме
М

QML: изменение стиля при наведении и при нажатии на кнопку

enabled = false перестанет быть активной и не будет ни на что реагировать) Хм.. по-моему пробовал такое. Проверю ещё раз после работы. Ура, спасибо большо…
U

Динамическое наполнение StackView QML

Во затупил))) Спасибо за все))) StackView.push("ModuleTip1.qml") ну или в сложной иерархии StackView.push("qrc:/folder/ModuleTip1.qml") и всего делов... Не пойму, почему сра…

QEventLoop тормозит при удалении экземпляра

Думаю, что нет. Лучше вообще без исключений, но не всегда возможно.
s

Ключевое слово class

Разобрался,на стаковерфлоу нашел топик и понял почему так происходило .

Поведение пустой очереди std::queue

Спасибо, так и сделал.
О нас
Услуги
© EVILEG 2015-2020
Рекомендует хостинг TIMEWEB