问题标签 [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.
swift - 为什么我不能执行鼠标左键单击?
我正在创建一个移动鼠标光标并执行左右单击的软件。我让光标移动了,但我无法执行左键单击。我究竟做错了什么?
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
化和忽略事件
c++ - 单次移动的 QMouseEvent
为什么 Qt 鼠标移动事件为单个移动传递多个事件?
这是一个简单的项目。
主窗口.h
主窗口.cpp
主文件
“debug.txt”的结果以以下内容结尾:
我确信我小心地移动了我的鼠标以确保我的鼠标只移动了一个像素,但是 Qt 的事件提供程序传递了 3 个事件。如果有人能解释原因将是一个很好的帮助。
c++ - QMouseEvent 用于 QWidget 上的单次移动
为什么 QMouseEvent 为 QWidget 上的单个移动传递多个事件?
我正在实现简单的拖动效果,但结果不是我所期望的。
以下代码会将小部件移动到新位置,但会立即将其移回原始位置。
自定义小部件.h
自定义小部件.cpp
主文件
并且 debug.txt 对光标单次移动的结果是
结果是将小部件移动到新位置一段时间,然后将其移回其原始位置。
无论您如何拖动小部件,该程序的外观几乎看起来都不会移动小部件。
我的理论是事件管理器在您移动光标时传递事件。但是在处理完第一个事件之后,管理器会传递另一个与小部件的新位置和光标当前位置相关的事件。然后该过程会将小部件移回原来的位置。
虽然我可以更改获取光标位置的方法
至
解决问题。
但仍然想知道为什么事件管理器会那样做。
python - 如何在布局中的小部件之间捕获 mousePressEvent?
我正在尝试检测具有多个小部件的区域内任何地方的鼠标点击。为此,我使用以下代码:
问题
这在单击任何子小部件时有效,但存在一个问题:如果我在小部件之间单击(因此在小部件hbox
未覆盖的布局区域中),mousePressEvent
则不会捕获
问题
我怎么解决这个问题?(或者您可以推荐另一种方法吗?)重要的是我能够在custom_widget
/内的任何位置捕获鼠标点击hbox
(参见上面的代码)
c++ - 如何在 QLabel 中约束 QRubberBand?
我正在构建一个 Qt5 应用程序,该应用程序允许用户用鼠标在图像上绘制橡皮筋,以选择图像的某个区域进行进一步处理。
我的代码只允许用户开始绘制橡皮筋,方法是将 QLabel 子类化为自定义类 (frame_displayer),该类 mousePressEvent()被覆盖,因此仅在自定义分类小部件中发生鼠标按下时才被调用。
问题是,当初始点击在 frame_displayer 内时,mouseMoveEvent(),我用来相应地更改橡皮筋大小的函数,即使鼠标光标被拖到 frame_displayer 之外,也会继续被调用。
我尝试使用leaveEvent()和enterEvent()来控制一个类布尔标志,mouseMoveEvent 中的代码可以依靠该标志来了解光标是否仍在小部件内。但是,仅在未按住鼠标按钮时才调用leaveEvent()和enterEvent() ,因此它们无法用于约束橡皮筋。
此外,由于我不知道的原因, underMouse()总是返回 true。
frame_displayer.cpp 的片段
提前致谢!
qt - QWidget如何检测鼠标停止移动
当鼠标移动时,我可以通过覆盖 QWidget 的 mouseMoveEvent 函数来做一些事情。
但是我想在鼠标停止移动的那一刻做点什么。我该如何实施?
python - 获取 Qt 小部件以更新使用 Qt Designer 制作的 Qt 表单中的鼠标事件
我制作了一个自定义 QGraphicsView,我将其作为小部件添加到使用 Qt Designer 制作的应用程序表单中。一切似乎都在工作,包括鼠标点击。绘制的方法被调用,但我无法在屏幕上实际重绘。我尝试创建paintEvent 方法的副本并调用mouseEvent 方法。我也尝试直接调用paintEvent。我似乎无法用 mouseEvent 重新绘制它。这是代码: