Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Модель/Представление _ QModelIndex установить постоянно на QTableView

Автор: Lonely_hermit 9.4.2010, 17:47

Дорогие форумчане!
Тема такая:
Есть определённые ситуации, при которых QModelIndex на QTableView не устанавливается. Ситуацию с пустой таблицей я не рассматриваю.

В общем, нужно установить QModelIndex по умолчанию на первую строку после каждого изменения в
QTableView. Как код написать?

Автор: Litkevich Yuriy 9.4.2010, 18:01

Цитата(Lonely_hermit @ 9.4.2010, 21:47) *
QModelIndex на QTableView не устанавливается
фраза странная, не понятная

QModelIndex - координата данных в модели.
Как например QPoint в системе рисования, QPoint внутри себя содержит X и Y
Так и QModelIndex содержит внутри себя Строку, Столбец и QModelIndex родителя (для поддержки иерархий)

Чтобы просто установить в представлении текущей ячейку с координатами (firstRow, firstColumn) нужно сделать так:
int firstRow = 0; // первая строка таблицы имеет индекс - нуль
int firstColumn = 0; // первый столбец таблицы имеет индекс - нуль
QModelIndex index = view->model()->index(firstRow, firstColumn); // узнаем модельный индекс у модели соответствующий заданным строке и столбцу
view->setCurrentIndex(index); // установим текущим новый индекс (новую координату)

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)