Russian Qt Forum

Qt => Model-View (MV) => Тема начата: UVV от Июнь 03, 2010, 16:31



Название: Selection in TableView
Отправлено: UVV от Июнь 03, 2010, 16:31
Привет.
Допустим, есть tableView, в котором 10 ячеек.
Если выделить ячейку (0, 0), а затем с шифтом (или удерживая кнопку мыши) выделить ячейку (1, 3),
то у меня вделится блок с (0, 0) по (1, 3).
А мне нужно, чтобы выделились все ячейки с (0, 0) по (1, 3).
Кто что подскажет, как можно решить данную ситуацию?
Пока придумал только отнаследоваться от QTableView и переопределить setSelection(), подсовывая ему 3 разных прямоугольника.
Есть ли решения более элегантные?


Название: Re: Selection in TableView
Отправлено: crossly от Июнь 03, 2010, 16:39
Цитировать
enum QAbstractItemView::SelectionMode


Название: Re: Selection in TableView
Отправлено: UVV от Июнь 03, 2010, 16:43
Ни ContiguousSelection, ни ExtendedSelection не помогает. Оно выделяет блоками.


Название: Re: Selection in TableView
Отправлено: crossly от Июнь 03, 2010, 16:46
Ни ContiguousSelection, ни ExtendedSelection не помогает. Оно выделяет блоками.
тогда я не понял как это должно выглядеть...


Название: Re: Selection in TableView
Отправлено: UVV от Июнь 03, 2010, 16:49
snapshot10 - то, как работает ContiguousSelection.
snapshot11 - то, что мне надо (Оно сделано с помощью ExtendedSelection, но Ctrl использовался неоднократно)


Название: Re: Selection in TableView
Отправлено: shirushizo от Июнь 24, 2010, 14:58
Тогда пользуй QListView, если тебе надо выделять последовательно, в таблице имено так всегда и выделялось. Ну или SelectionModel руками создавать, по клику с Shift'ом.