Я работаю с 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::ExtendedSelection
а также QAbstractItemView::ContiguousSelection
,
Вы проверили сигналы от QItemSelectionModel, особенно
[signal] QItemSelectionModel :: currentColumnChanged
может использоваться для начала нового выбора в случае, если текущий выбор будет расширен для охвата двух столбцов.
Других решений пока нет …