Вот workaround:
C++ (Qt)
#include <QTableView>
#include <QMouseEvent>
class TableView : public QTableView
{
public:
TableView( QWidget* parent = 0 )
: QTableView( parent ) {}
protected:
void mousePressEvent( QMouseEvent* e )
{
setDragEnabled( selectionModel()->isSelected( indexAt( e->pos() ) ) );
QTableView::mousePressEvent( e );
}
};