有沒有辦法將行拖出QTableView?QTableView外部拖放
我知道如何在視圖上配置一些屬性的內部成爲QTableView
中移動列:
table_view_->horizontalHeader()->setSectionsMovable(true);
table_view_->horizontalHeader()->setDragEnabled(true);
table_view_->horizontalHeader()->setDragDropMode(QAbstractItemView::InternalMove);
通過對文檔的QAbstractItemView::DragDropMode
去,我直覺期待我的下試圖讓垂直頭座項目的外部拖動:
table_view_->verticalHeader()->setSectionsMovable(true);
table_view_->verticalHeader()->setDragEnabled(true);
table_view_->verticalHeader()->setDragDropMode(QAbstractItemView::DragOnly);
不過,我只限於內部行動。
鑑於this article我得出我自己的模型從QSqlRelationalTableModel
,並且增加了Qt::ItemIsDragEnabled
標誌爲flags
功能,所有垂直頭指標:
Qt::ItemFlags MyRelationalTableModel::flags(const QModelIndex &index) const
{
Qt::ItemFlags defaultFlags = QSqlRelationalTableModel::flags(index);
if(index.column() == -1 && index.row() > -1) {
qDebug() << "drag enabled.";
return Qt::ItemIsDragEnabled | defaultFlags;
} else {
qDebug() << "not drag enabled.";
}
return defaultFlags;
}
這並沒有改變任何東西,考慮到調試輸出,flags
WASN甚至不需要垂直標題項目。
我想知道爲什麼我會在這個問題上投票反對。如果有人認爲這個問題很愚蠢,那麼請指出我的愚蠢,以便我可以解決這個問題。 –