【问题标题】:Execute operation periodically while QPushButotn is pressed按下 QPushButotn 时定期执行操作
【发布时间】:2020-07-10 18:01:02
【问题描述】:

我有一个QGraphicsView,其中有一些用于翻译视图的按钮。当我单击其中一个按钮时,视图被翻译。我使用以下连接来执行操作(我正在继承QGraphicsView

connect(m_upButton, &QPushButton::clicked, [this](){ verticalScrollBar()->setValue( verticalScrollBar()->value() - TranslateFactor ); });
connect(m_downButton, &QPushButton::clicked, [this](){ verticalScrollBar()->setValue( verticalScrollBar()->value() + TranslateFactor ); });
connect(m_leftButton, &QPushButton::clicked, [this](){ horizontalScrollBar()->setValue( horizontalScrollBar()->value() - TranslateFactor ); });
connect(m_rightButton, &QPushButton::clicked, [this](){ horizontalScrollBar()->setValue( horizontalScrollBar()->value() + TranslateFactor ); });

它有效,但我还希望在按下其中一个按钮之前,我会定期翻译图像,因此用户可以在相应按钮上按住鼠标以翻译所需数量的视图,而不是单击许多次。我怎样才能得到这个结果?

【问题讨论】:

标签: c++ qt qgraphicsview qpushbutton translate-animation


【解决方案1】:

QAbstractButton 有一个名为 autoRepeat 的属性,可以满足您的需求。

不要忘记查看autoRepeatDelayautoRepeatInterval

查看文档以获取更多信息。

https://doc.qt.io/qt-5/qabstractbutton.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    相关资源
    最近更新 更多