3

我使用 QTableView,我想开发一种高级选择模式。我没有设法做到这一点,SelectionBehavior也没有做到SelectionMode

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

  • 有效行为

选择一整列就可以了 在同一列中选择一些单元格就可以了

  • 无效行为

选择多列中的单元格不正确

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

有什么解决办法吗?


编辑 - 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

4

1 回答 1

2

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

[信号] QItemSelectionModel::currentColumnChanged

可以用来开始一个新的选择,以防当前选择被扩展到覆盖两列。

于 2013-02-28T08:13:09.303 回答