在按下 QPushButotn 时定期执行操作
Execute operation periodically while QPushButotn is pressed
我有一个 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 ); });
它有效,但我还希望在按下其中一个按钮之前,我会定期平移图像,这样用户可以在相应按钮上按住鼠标以平移所需数量的视图,而不是点击多次。我怎样才能得到这个结果?
QAbstractButton
有一个名为 autoRepeat
的 属性,它可以满足您的需求。
别忘了看看 autoRepeatDelay
和 autoRepeatInterval
。
查看文档以获取更多信息。
我有一个 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 ); });
它有效,但我还希望在按下其中一个按钮之前,我会定期平移图像,这样用户可以在相应按钮上按住鼠标以平移所需数量的视图,而不是点击多次。我怎样才能得到这个结果?
QAbstractButton
有一个名为 autoRepeat
的 属性,它可以满足您的需求。
别忘了看看 autoRepeatDelay
和 autoRepeatInterval
。
查看文档以获取更多信息。