我在phonon::VideoWidget
添加了QGraphicsScene/View
,并为setAcceptDrop(true)
设置了phonon::VideoWidget
。
我创建了一个继承自QGraphicsView
的类,并覆盖了以下事件函数:
virtual void dropEvent ( QDropEvent * event );
virtual void dragEnterEvent ( QDragEnterEvent * event);
virtual void mouseMoveEvent ( QMouseEvent * event);
virtual void mousePressEvent ( QMouseEvent * event);
virtual void dragLeaveEvent ( QDragLeaveEvent * event );
virtual void dragMoveEvent ( QDragMoveEvent * event );
同样在此课程中设置setAcceptDrop(true)
。
我正在接收除dropEvent(QDropEvent * event)
以外的所有事件(如上所述)。如果我要添加任何其他dropEvent (QDropEvent *)
而不是QGraphicsItem
,则会调用Phonon::VideoWidget
。
我在Windows 7下使用Qt 4.8.4。
答案 0 :(得分:1)
您可能需要覆盖void dragEnterEvent(QDragEnterEvent*)
并调用QDragEnterEvent::acceptProposedAction()
以指示窗口小部件可以处理该丢弃事件。