当前位置:编程学习 > wap >>

dragMoveEvent事件为什么不响应啊!!!

我用QT5.1写的程序,但是dragMoveEvent就是不响应。
在Win32平台不响应,在Android平板上也不响应。 --------------------编程问答-------------------- 为什么不响应,这样几句话我们也不知道啊。
代码贴出来。 --------------------编程问答-------------------- 自己先单步调试下吧,看看具体的鼠标事件走到了哪里 --------------------编程问答--------------------
引用 1 楼 q245879 的回复:
为什么不响应,这样几句话我们也不知道啊。
代码贴出来。


根本走不到dragMoveEvent这个事件,只能走到mouseMoveEvent这个事件。 --------------------编程问答--------------------
引用 2 楼 xiuxianshen 的回复:
自己先单步调试下吧,看看具体的鼠标事件走到了哪里


根本走不到dragMoveEvent这个事件,只能走到mouseMoveEvent这个事件。 --------------------编程问答-------------------- 在mac上  Qt 5.1 的dragMoveEvent 这个事件是可以的 --------------------编程问答-------------------- 你可以考虑重新实现eventFilter(QObject *obj, QEvent *event) ,监测拖拽的情况下都触发 了那些事件
通过观察事件的值就知道是否是真的不可以 响应
QEvent::DragEnter 60 The cursor enters a widget during a drag and drop operation (QDragEnterEvent).
QEvent::DragLeave 62 The cursor leaves a widget during a drag and drop operation (QDragLeaveEvent).
QEvent::DragMove 61 A drag and drop operation is in progress (QDragMoveEvent).

bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
    qDebug()<< event->type();
return QMainWindow::eventFilter(obj,event);

--------------------编程问答--------------------
引用 6 楼 qtcreatorlinux 的回复:
你可以考虑重新实现eventFilter(QObject *obj, QEvent *event) ,监测拖拽的情况下都触发 了那些事件
通过观察事件的值就知道是否是真的不可以 响应
QEvent::DragEnter 60 The cursor enters a widget during a drag and drop operation (QDragEnterEvent).
QEvent::DragLeave 62 The cursor leaves a widget during a drag and drop operation (QDragLeaveEvent).
QEvent::DragMove 61 A drag and drop operation is in progress (QDragMoveEvent).

bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
    qDebug()<< event->type();
return QMainWindow::eventFilter(obj,event);



在eventFilter函数里也接收不到HoverMove事件,但能接收到TouchBegin、TouchUpdate、TouchEnd三个事件。
貌似TouchUpdate就是手指滑动时的事件,但是这个事件的触发间隔时间极不稳定,一会几毫秒,一会50-70毫秒。导致程序滑动时很不流畅。
--------------------编程问答-------------------- 那就说明TouchBegin、TouchUpdate、TouchEnd就是你想要的事件,沿着这个找下去就行了

这Qt5.1是有很多bug的,我是不建议用,我是在上面吃了很多苦头的 --------------------编程问答--------------------
引用 8 楼 qtcreatorlinux 的回复:
那就说明TouchBegin、TouchUpdate、TouchEnd就是你想要的事件,沿着这个找下去就行了

这Qt5.1是有很多bug的,我是不建议用,我是在上面吃了很多苦头的


这个没办法,公司要用5.1的版本
不过这个版本有个好处,可以直接编译Android平台的软件。

另外,TouchUpdate和mouseMoveEvent事件的间隔时间为什么会有时达到50-70毫秒?
补充:移动开发 ,  Qt
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,