qt определяет длительность щелчка мышью при нажатой кнопке - PullRequest
0 голосов
/ 28 сентября 2019

Я бы хотел выключить систему, если кнопка нажата более 3 секунд.Как я могу определить продолжительность нажатия, пока кнопка нажата?Я могу сделать это с помощью нажатых () и освобожденных (), но не во время печати. ​​

1 Ответ

1 голос
/ 28 сентября 2019

Вы должны использовать QTimer:

#include <QtWidgets>


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

    QPushButton button("Press me");

    QTimer timer;
    timer.setSingleShot(true);
    timer.setInterval(3 * 1000);

    QObject::connect(&button, &QPushButton::pressed, &timer, [&timer](){
        timer.start();
    });
    QObject::connect(&button, &QPushButton::released, &timer, [&timer](){
        timer.stop();
    });
    QObject::connect(&timer, &QTimer::timeout, [](){
        qDebug() << "shutdown";
    });

    button.show();

    return a.exec();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...