Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Qt的鼠标事件_Qt_Mouseevent - Fatal编程技术网

使用Qt的鼠标事件

使用Qt的鼠标事件,qt,mouseevent,Qt,Mouseevent,我正在尝试使用Qt4.5在两个小部件之间实现某种拖放功能。所以我重新实现了mouse events方法,当我在第一个小部件上按下鼠标按钮并移动光标并释放第二个小部件上的按钮时,我的程序应该做什么 问题是:在第一个小部件上按下事件后,在第一个小部件获得释放事件之前,没有其他小部件接收到与鼠标相关的事件(移动、释放或进入)。如果事先没有释放按钮,当光标离开时,即使是第一个小部件也不会收到leave事件 如何使目标小部件在释放按钮之前接收鼠标事件 谢谢。IIRC在Qt中拖放时不使用“正常”鼠标事件。阅

我正在尝试使用Qt4.5在两个小部件之间实现某种拖放功能。所以我重新实现了mouse events方法,当我在第一个小部件上按下鼠标按钮并移动光标并释放第二个小部件上的按钮时,我的程序应该做什么

问题是:在第一个小部件上按下事件后,在第一个小部件获得释放事件之前,没有其他小部件接收到与鼠标相关的事件(移动、释放或进入)。如果事先没有释放按钮,当光标离开时,即使是第一个小部件也不会收到leave事件

如何使目标小部件在释放按钮之前接收鼠标事件


谢谢。

IIRC在Qt中拖放时不使用“正常”鼠标事件。阅读中的相应部分。

是,但是对于
QDrag
类,我被迫将拖动的数据用作
QMimeData
而不是自定义类。只需定义一个自定义mime类型(例如“application/x-mywidget”),将数据存储在QByteArray中,并使用“QMimeType::setData()”。确定,但是我如何从
QByteArray
找回我的班级呢?