QTableView启用只拖放特定列的列

问题描述:

所以我想阻止一些列允许拖放& drop Events。我无法为这些列添加eventfilter。任何人有一个想法如何做到这一点?我有一个QTableView填充了一个QStandardItemModel并设置为允许拖动&下降。QTableView启用只拖放特定列的列

+0

您可以提供一个[最小,完整和可验证示例](https://*.com/help/mcve) – eyllanesc

你需要找出鼠标的位置,并控制与

setAttribute(Qt::WA_AcceptDrops, false); 
setAttribute(Qt::WA_AcceptDrops, true); 
+0

你会在哪里调用setAttribute?那么鼠标呢? – bob

过程中你也可以继承模型中的覆盖方法的Qt :: ItemFlags化QAbstractItemModel ::国旗(常量QModelIndex &指数)const

+0

我认为这将是一个很好的尝试,但在我的情况下,我激活拖放表的标题视图。所以我不确定我会得到什么作为标题单元格的QModelIndex – bob

+0

因此,您拖放列以更改它们的顺序?我认为你的代码的一个小例子可能会有所帮助:) –