即使在Phonon :: VideoWidget中设置setAcceptDrop(true)后,也没有调用dropEvent(QDropEvent * event)

时间:2014-04-27 12:34:59

标签: qt phonon

我在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。

1 个答案:

答案 0 :(得分:1)

您可能需要覆盖void dragEnterEvent(QDragEnterEvent*)并调用QDragEnterEvent::acceptProposedAction()以指示窗口小部件可以处理该丢弃事件。