问题标签 [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.
c++ - 如何识别子小部件中的 QMouseEvent?
编辑和一些自我批评我尝试了两种给定的解决方案,它们都解决了我的问题,因此我感谢你们!我将透明解决方案标记为已接受,因为当我只有一个子小部件时,我认为这是最简单的实现,但我希望与其他初学者分享一些见解:
我第一次使用QLabel
,默认情况下显然已启用Qt::WA_TransparentForMouseEvents
,因此显然有效,但我也希望文本可以通过使用QPlainTextEdit
来选择。可笑的是,这是不可能的,因为如果您尝试选择文本(通过单击),您将关闭窗口!我最终保持了透明度,而忽略了选择文本功能。
我猜我的以下问题之前已经在某个地方得到了回答,但是经过一个小时的搜索,我现在自己发布了这个问题。如果有人能指出一个已经回答的问题来解决我的问题,我将不胜感激。
无论如何,我正在使用 C++ 和 Qt 创建一个弹出窗口。我创建了以下PopupDialog
类,它可以很好地用于所有目的。但是,我已经删除了它的框架(包括包含关闭按钮和窗口标题的栏)以使其看起来很简约,现在我希望它在用户在弹出窗口(对话框)内的任何位置按下/释放鼠标按钮时关闭.
下面的代码可以工作,但是我必须在 QDialog 窗口本身准确地单击并释放鼠标。如果鼠标悬停在显示文本的QDialog
(例如 a )内的子小部件上,当我单击时它不会关闭。QPlainTextEdit
因此,我需要一个解决方案QDialog
来识别QMouseEvents
其子小部件。请不要犹豫,询问是否有不清楚的地方。我没有包含我的 mainwindow.h/.cpp 文件或popupdialog.ui
文件,因为我认为在这里发布有点太多了,但.ui
非常简单:只有一个QDialog
窗口持有 a QBoxLayout
,包含一个小部件, a QPlainTextEdit
。如果有帮助,我可能会应要求发布这些内容。
...
c++ - 如何将 QMouseEvent 发送到 QWebEngineView?
上下文:我正在创建一个网络浏览器。我需要将鼠标事件发送到网页。
它可以与 Qt WebKit 一起使用,但现在有些网站无法与 QT WebKit 一起使用。所以,我需要将我的网络浏览器移动到 Qt WebEngine。但是我对 QMouseEvent 的旧解决方案不起作用。
QWebView 的解决方案:
这个问题可以通过使用 JavaScript 来解决,但我需要 QMouseEvent。
如何将鼠标事件发送到 QWenEnginePage?
pyqt - 如何获取鼠标单击的文本位置?
我想在 QTextEdit 上单击鼠标,然后从文档中获取该单击的文本位置。如果点击导致插入字符,我的点击会在哪里?我希望颠覆 QTextEdit 的一些功能,所以我不想在处理点击后简单地从 QTextCursor 获取位置。基本上我自己重新实现了 mousePressEvent,但仍然需要知道最接近的字符间隙是什么。
qt - Qt WebEngine simulate Mouse Event
I want to simulate mouse Event in my Qt WebEngine app.
I use PyQt5.8 , QT5.8.
This is my code:
I test it, but it does not worked. I can confirm mouse cursor on the element, but no mouse click event happend. Can anyone help me?
I use Mac OS 10.12.4, I test it using another demo, I find I can not catch Mouse Event, but I can catch other events. Any suggestions?
c++ - qt按住鼠标按钮和定时器cpp
我不知道如何连接定时器超时和鼠标事件类。当每 200 毫秒按下鼠标按钮时,我需要在“waterfield”(qwidget)中绘制一个新粒子。当我释放按钮画家不应该画更多。我在构造函数中得到了这个:
在我的课堂上有 slot taptap()和 bool tapenable。
这是不起作用的代码:
在我点击程序崩溃后。我认为这样做是个好主意。计时器设置为 200 毫秒,因此设置了每 200 毫秒的信号超时,插槽 taptap 接收它并检查是否可以通过 mousepressevent 设置或通过 mousereleaseevent 重置。有什么建议么?
python - 如何在 PyQt5 中通过拖放来绘制矩形并调整其形状
我正在尝试通过拖放在 PyQt5 创建的 GUI 上绘制一个矩形。我设法做到了,但是释放鼠标左键时会绘制矩形。
我想要做的是这样的链接:
- 当按下鼠标左键时,开始绘制矩形。
- 拖动时,通过鼠标移动调整矩形形状。
- 释放鼠标左键时,确定矩形形状。
我该如何实施?提前致谢。
这是我的代码。
opencv - 使用 Qt 和 Opencv 为高分辨率图像选择 ROI
我正在从事一个涉及从高分辨率图像中选择 ROI 的项目(更像是 5187x3268 之类的)。现在我findContours
在 OpenCV 中使用来检测圆形物体(因为霍夫圆对于高分辨率图像来说有点慢)。问题是由于物体上的大量纹理,findContours
有时会出错。
我现在正在做的是向用户显示findContours
在 Qt 窗口中检测到的内容,并确定它是否检测正确。如果检测正确,用户将按下Ok
按钮,否则将按下按钮No, Let me select
。
当用户按下No, Let me select
时,应用程序将开始捕获mouseEvent
并使用QRubberBand
. 我QLabel
用来显示图像,因为我的屏幕尺寸是1920x1080
,我必须将图像调整为某个分辨率(比如说 1537x1280,以便为按钮留出一些空间)。我正在使用 opencvresize
来调整图像大小。
我正在使用比率来计算这样的尺寸减小(
,并将坐标与比率相乘event.pos()
以获得原始图像中的正确坐标。
由于坐标将是浮动的,我将它们四舍五入。问题在于对浮点值进行四舍五入,因为我在转换中失去了精度。
精度很重要,因为我需要principal coordinates(calculated by calibrating the stereo setup)
从图像中选择 ROI 后重新计算。
Opencv如何在调整大小后正确计算原始图像坐标?当我使用打开相同的图像时,我观察到它imshow
,如果我拖动鼠标,我可以看到原始图像坐标,即使图像已调整大小以适合屏幕。
如果有人可以在这个问题上帮助我,我将不胜感激。
c++ - 如何在 Qt 5 上的paintEvent 上使用 mouseMoveEvent?
我是 Qt 和 c++ 的新手,所以我遇到了一些困难。我正在尝试创建一个可以获取 mouseMoveEvent 位置并在鼠标位置上的像素图上绘制椭圆的小部件。您可以在下面看到代码:
鼠标位置正在控制台上打印,但图像上没有椭圆。
你可以帮帮我吗?
问候,
加布里埃尔。
c++ - 获取小部件上的绝对鼠标单击位置(也放大时)Qt
我想触发我在 QGraphicsView 上用鼠标单击的位置。这里的问题:这个 QGraphicsView 总是放大。但我想获得相对于整个小部件的点,而不仅仅是视口。或者换句话说:当我放大并单击左上角时,位置不应该是 0,0(QMousePressEvent 只是给了我这一点)。应该是从那里到整个sceneRectangle左上角的距离(或者到中间,无所谓)。有没有办法做到这一点?感谢您的回答。