在 Qt 中,鼠标类型是通过 QMouseEvent 类型的 button() 函数来获取的。它返回一个枚举类型 Qt::MouseButton,表示当前鼠标事件中的按钮类型。
Qt::MouseButton 枚举类型定义了以下常量:
- Qt::LeftButton:左键
- Qt::RightButton:右键
- Qt::MidButton:中键
- Qt::XButton1:第一个附加按钮(通常在鼠标左侧)
- Qt::XButton2:第二个附加按钮(通常在鼠标右侧)
以下是一个例子,演示如何使用 QMouseEvent 的 button() 函数获取当前鼠标事件的按钮类型:
void MyWidget::mousePressEvent(QMouseEvent* event)
{
Qt::MouseButton button = event->button();
switch (button) {
case Qt::LeftButton:
qDebug() << "Left Button Pressed";
break;
case Qt::RightButton:
qDebug() << "Right Button Pressed";
break;
case Qt::MidButton:
qDebug() << "Middle Button Pressed";
break;
case Qt::XButton1:
qDebug() << "Extra Button 1 Pressed";
break;
case Qt::XButton2:
qDebug() << "Extra Button 2 Pressed";
break;
default:
qDebug() << "Unknown Button Pressed";
break;
}
}
在上面的例子中,我们重载了 QWidget 的 mousePressEvent() 函数,并通过 QMouseEvent 的 button() 函数获取当前鼠标事件的按钮类型。接着,我们使用 switch 语句对不同的按钮类型进行处理,输出相应的信息。