问题标签 [qmouseevent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
147 浏览

swift - 为什么我不能执行鼠标左键单击?

我正在创建一个移动鼠标光标并执行左右单击的软件。我让光标移动了,但我无法执行左键单击。我究竟做错了什么?

0 投票
1 回答
330 浏览

python - PySide2 将鼠标事件传递给系统

我正在使用QDialog启用透明度来为屏幕捕获工具选择屏幕区域。当用户在透明小部件内单击时,我想忽略鼠标事件以便系统处理它。这可能吗?

我正在尝试在 Linux 上实现这一目标。

我尝试过的一些事情没有成功:

  • QtWidgets.QWidget.setWindowFlags(QtCore.Qt.WindowTransparentForInput)
  • QtWidgets.QWidget.setAttribute(QtCore.Qt.WA_TransparentForMouseEvents)
  • QtWidgets.QWidget.setMask(QtGui.QRegion(self.geometry()))
  • 子类mousePressEvent化和忽略事件
0 投票
1 回答
192 浏览

c++ - 单次移动的 QMouseEvent

为什么 Qt 鼠标移动事件为单个移动传递多个事件?

这是一个简单的项目。

主窗口.h

主窗口.cpp

主文件

“debug.txt”的结果以以下内容结尾:

我确信我小心地移动了我的鼠标以确保我的鼠标只移动了一个像素,但是 Qt 的事件提供程序传递了 3 个事件。如果有人能解释原因将是一个很好的帮助。

0 投票
1 回答
951 浏览

c++ - QMouseEvent 用于 QWidget 上的单次移动

为什么 QMouseEvent 为 QWidget 上的单个移动传递多个事件?

我正在实现简单的拖动效果,但结果不是我所期望的。

以下代码会将小部件移动到新位置,但会立即将其移回原始位置。

自定义小部件.h

自定义小部件.cpp

主文件

并且 debug.txt 对光标单次移动的结果是

结果是将小部件移动到新位置一段时间,然后将其移回其原始位置。

无论您如何拖动小部件,该程序的外观几乎看起来都不会移动小部件。

我的理论是事件管理器在您移动光标时传递事件。但是在处理完第一个事件之后,管理器会传递另一个与小部件的新位置和光标当前位置相关的事件。然后该过程会将小部件移回原来的位置。

虽然我可以更改获取光标位置的方法

解决问题。

但仍然想知道为什么事件管理器会那样做。

0 投票
0 回答
42 浏览

qt - 如何在 Qt 的应用程序之外获取鼠标的全局坐标?

我构建了一个从 QWidget 继承的新元素,它是 LineEdit 和 Button 的组合。

在此处输入图像描述

现在,当我单击按钮时,应该会显示一个列表(或者换句话说,应该显示一个完成者)。

在此处输入图像描述

现在的要求是,当我在完成器外部单击鼠标时,完成器将被关闭。所以我需要知道鼠标的全局坐标来检查鼠标是否在完成者内部。我该怎么做?

LineEditWithButton.h

LineEditWithButton.cpp

这个功能对我不起作用。我在这个函数中设置了一个断点,但是断点没有被命中。我该如何解决我的问题?

0 投票
1 回答
637 浏览

python - 如何在布局中的小部件之间捕获 mousePressEvent?

我正在尝试检测具有多个小部件的区域内任何地方的鼠标点击。为此,我使用以下代码:


问题

这在单击任何子小部件时有效,但存在一个问题:如果我在小部件之间单击(因此在小部件hbox未覆盖的布局区域中),mousePressEvent则不会捕获

问题

我怎么解决这个问题?(或者您可以推荐另一种方法吗?)重要的是我能够在custom_widget/内的任何位置捕获鼠标点击hbox(参见上面的代码)

0 投票
1 回答
1195 浏览

python - Qtablewidget 中单元格上的 MouseMove 事件以显示或打印消息

我有 QTablewidget,我想在特定单元格上使用 mousemoveevent B。当鼠标移到这个单元格B上时,会出现或打印一条消息。我已经创建了构造函数,但它确实不起作用。从这些代码行中可以期待一切。

请记住,当单击单元格并工作时,会分配 Qtooltip。但我想通过 MouseMoveevent 来做到这一点。也许我的 MouseEvent 代码构造函数不正确。

期待表现。

在此处输入图像描述

0 投票
1 回答
326 浏览

c++ - 如何在 QLabel 中约束 QRubberBand?

我正在构建一个 Qt5 应用程序,该应用程序允许用户用鼠标在图像上绘制橡皮筋,以选择图像的某个区域进行进一步处理。

我的代码只允许用户开始绘制橡皮筋,方法是将 QLabel 子类化为自定义类 (frame_displayer),该类 mousePressEvent()被覆盖,因此仅在自定义分类小部件中发生鼠标按下时才被调用。

问题是,当初始点击在 frame_displayer 内时,mouseMoveEvent(),我用来相应地更改橡皮筋大小的函数,即使鼠标光标被拖到 frame_displayer 之外,也会继续被调用。

我尝试使用leaveEvent()enterEvent()来控制一个类布尔标志,mouseMoveEvent 中的代码可以依靠该标志来了解光标是否仍在小部件内。但是,仅在未按住鼠标按钮时才调用leaveEvent()enterEvent() ,因此它们无法用于约束橡皮筋。

此外,由于我不知道的原因, underMouse()总是返回 true。

frame_displayer.cpp 的片段

提前致谢!

0 投票
1 回答
238 浏览

qt - QWidget如何检测鼠标停止移动

当鼠标移动时,我可以通过覆盖 QWidget 的 mouseMoveEvent 函数来做一些事情。

但是我想在鼠标停止移动的那一刻做点什么。我该如何实施?

0 投票
1 回答
297 浏览

python - 获取 Qt 小部件以更新使用 Qt Designer 制作的 Qt 表单中的鼠标事件

我制作了一个自定义 QGraphicsView,我将其作为小部件添加到使用 Qt Designer 制作的应用程序表单中。一切似乎都在工作,包括鼠标点击。绘制的方法被调用,但我无法在屏幕上实际重绘。我尝试创建paintEvent 方法的副本并调用mouseEvent 方法。我也尝试直接调用paintEvent。我似乎无法用 mouseEvent 重新绘制它。这是代码: