When dragging between a QListView and a QTableView the drop indicator does not change, so the QTableView::dropEvent() is never called when releasing the mouse button. But, debugging code in the QTableView::dragEnterEvent() states:
  • DropAction: Qt::MoveAction
  • DragDropMode: QAbstractItemView:: DropOnly
  • DropIndicatorShown: TRUE
  • DragDropOverwriteMode: TRUE
I have a QStandardModel that services both a QGraphicsScene/View and the QTableView (the table view is filled via QSortFilterProxyModel class. Drops into the QGraphicsScene work fine.

Any ideas about what I can do to get the QTableView to show a drop indicator and allow dropEvent() to be called?

For reference, this is my table view ctor.
Qt Code:
  1. SheetView::SheetView( QWidget* pParent ) : QTableView( pParent )
  2. {
  3. setSelectionMode( QAbstractItemView::SingleSelection );
  4. setAcceptDrops( true );
  5. setDropIndicatorShown( true );
  6. setDragDropMode( QAbstractItemView::DropOnly );
  7. setDragDropOverwriteMode( true );
  8. setSelectionBehavior( QAbstractItemView::SelectRows );
  9. }
To copy to clipboard, switch view to plain text mode 
Qt Commercial 4.6.2
Windows XP SP3