QTableView高级选择

时间:2013-02-28 08:01:48

标签: c++ qt qtableview multipleselection

我使用QTableView,我想开发一种高级选择模式。我没有设法使用SelectionBehaviorSelectionMode

用户应该能够获取一些单元格,但前提是它们属于同一列:

  • 有效行为

Select an entire column is OK Select some cells in the same column is OK

  • 无效行为

Select cells in several columns is NOT OK

锦上添花将是为了防止选择最后一行(黄色)。

有没有解决方案?


编辑 - 2013/03/05

我无法让它发挥作用:

ui->table->setSelectionBehavior(QAbstractItemView::SelectItems);
ui->table->setSelectionMode(QAbstractItemView::MultiSelection);

connect(ui->table->selectionModel(), SIGNAL(currentColumnChanged(QModelIndex,QModelIndex)), ui->table->selectionModel(), SLOT(clearSelection()));

这段代码有什么问题?我还尝试了QAbstractItemView::ExtendedSelectionQAbstractItemView::ContiguousSelection

1 个答案:

答案 0 :(得分:2)

您是否检查了来自QItemSelectionModel的信号,尤其是

  

[signal] QItemSelectionModel :: currentColumnChanged

如果当前选择将扩展到包含两列,

可用于启动新选择。