我有一个 QTableWidget 和 1 列只有复选框,所以对于这些项目我有这些标志:
/* create prototype for checkbox item */
checkItem = new QTableWidgetItem();
Qt::ItemFlags flags = checkItem->flags();
flags &= ~Qt::ItemIsEditable;
flags &= ~Qt::ItemIsDropEnabled;
flags &= ~Qt::ItemIsDragEnabled;
flags |= Qt::ItemIsUserCheckable;
checkItem->setFlags(flags);
/**/
好吧,这行得通……几乎。我不能在这些物品中放任何东西,这很好。但是现在可以在 2 个单元格之间放置,因此创建了一个新行。我怎样才能防止这种情况?在其他启用了单元格的列中,我只能放入单元格而不是介于两者之间,这很好。为什么当项目未启用拖放时此行为会更改?