dragMoveEvent事件为什么不响应啊!!!
我用QT5.1写的程序,但是dragMoveEvent就是不响应。在Win32平台不响应,在Android平板上也不响应。 --------------------编程问答-------------------- 为什么不响应,这样几句话我们也不知道啊。
代码贴出来。 --------------------编程问答-------------------- 自己先单步调试下吧,看看具体的鼠标事件走到了哪里 --------------------编程问答--------------------
根本走不到dragMoveEvent这个事件,只能走到mouseMoveEvent这个事件。 --------------------编程问答--------------------
根本走不到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);
}
在eventFilter函数里也接收不到HoverMove事件,但能接收到TouchBegin、TouchUpdate、TouchEnd三个事件。
貌似TouchUpdate就是手指滑动时的事件,但是这个事件的触发间隔时间极不稳定,一会几毫秒,一会50-70毫秒。导致程序滑动时很不流畅。
--------------------编程问答-------------------- 那就说明TouchBegin、TouchUpdate、TouchEnd就是你想要的事件,沿着这个找下去就行了
这Qt5.1是有很多bug的,我是不建议用,我是在上面吃了很多苦头的 --------------------编程问答--------------------
这个没办法,公司要用5.1的版本
不过这个版本有个好处,可以直接编译Android平台的软件。
另外,TouchUpdate和mouseMoveEvent事件的间隔时间为什么会有时达到50-70毫秒?
补充:移动开发 , Qt