gpt4 book ai didi

c++ - QTableView外部拖拽

转载 作者:太空宇宙 更新时间:2023-11-04 13:28:44 25 4
gpt4 key购买 nike

有没有办法将行拖出 QTableView?

我知道如何通过在 View 上配置一些属性来在 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

最佳答案

将 acceptDrops(true) 添加到 QTableView 有帮助吗?

关于c++ - QTableView外部拖拽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32342897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com