我有一个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
。
检查文档以获取更多信息。