如何在按住修改键时检测是否双击QWidget(在我的情况下为QStatusBar)?
我可以重载void QWidget::mouseDoubleClickEvent ( QMouseEvent * event )
以获得双击,但我怎么能确定小部件在可能没有焦点时是否收到关键事件?
答案 0 :(得分:2)
答案 1 :(得分:1)
如果您的(鼠标)事件或信号有SLOT,您可以在那里测试修改器:
Qt::KeyboardModifiers modifiers = QApplication::queryKeyboardModifiers ();
if(modifiers.testFlag( Qt::ControlModifier )){
qDebug() << "CTRL was hold when this function was called";
}
else{
qDebug() << "CTRL wasn't hold";
}
//SHIFT = Qt::ShiftModifier
//CTRL = Qt::ControlModifier
//ALT = Qt::AltModifier
答案 2 :(得分:0)
只是添加更多信息 在你的QWidget中你只需要覆盖这个方法
protected:
void mouseDoubleClickEvent(QMouseEvent *event);
欢呼声