c++ - Qt如何检查按下了哪个鼠标按钮

标签 c++ qt pyqt pyside

我在 PySide 中遇到问题,试图确定在事件函数中按下了哪个鼠标按钮。我特别需要它来忽略鼠标移动事件,因为它在左右鼠标按钮上都起作用。

如果按下场景中的右键,我想忽略鼠标移动事件。有帮助吗?

最佳答案

所有鼠标事件都有两种方法(buttonbuttons)来确定哪个按钮被按下。但仅针对 move 事件文档说:

Note that the returned value is always Qt::NoButton for mouse move events.

对于 mouseMoveEvent 你应该使用 buttons 方法。

void mouseMoveEvent(QMouseEvent *e)
{
    if(e->buttons() == Qt::RightButton)
        qDebug() << "Only right button";
}

当然,为了忽略移动事件,您需要在 eventFilter 中完成这项工作。

关于c++ - Qt如何检查按下了哪个鼠标按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16759544/

相关文章:

python - 如何在主Python文件中使用多个.ui文件

c++ - OpenCV:基于三角选择倾斜图像

c++ - Qt 中是否有与 MFCs OnUpdate 等效的功能?

qt - 将 OpenCV IplImage 渲染到 QGLWidget

python - 用新的布局替换 QScrollArea 的布局

python - PyQt:获取 QGraphicsWidgets 在 QGraphicsGridLayout 中的位置

java - 在 java 中加载 c++ library.so 会引发错误 : undefined symbol: XOpenDisplay

C++ 调用错误时没有匹配的函数

c++ - 结构中的类

QTableWidget 中的 Qt MouseTracking