А как вообще вытащить данные из ячеек таблицы?
Пытаюсь получить список всех строк выбранного столбца. Проблема в том, что данные надо брать из сортированной таблицы, которая с первоначальным “массивом данных” не совпадает.
Kyrymданные нужно вытаскивать из модели
А как вообще вытащить данные из ячеек таблицы?
model = self.table.model() # модель QTableView-а index = model.index(1,1) print(model.data(index)) # вывести данные из ячейки в второй( если считать с единицы) строке, второго столбца
Kyrymне совсем понял суть вопроса, какие именно индексы? представление только отбражает модель. Почему у них не должны совпадать индексы?
А у модели и представления (самой таблицы) индексы данных будут совпадать? Изменяя сортировку представления, индексы модели разве меняются?
KyrymЕсли почитать документацию, например тут http://doc.crossplatform.ru/qt/4.8.x/html-qt/qtableview-members.html то можно узнать что у QTableView ( и у соответвенно у QTableWidget как наследника) есть методы scroll( int, int ), scrollContentsBy( int, int ), scrollDirtyRegion( int, int ), scrollTo( const QModelIndex &, ScrollHint ), scrollToBottom (), scrollToTop (). И в частности scrollTo(index) как раз скролит таблицу пока ячейка c указанным индексом не станет видимой.
Что нужно сделать, чтобы таблица перевела вид на эту строку? Вопрос для QTableView и QTableWidget.
PEHDOMС этим я уже разобрался, работает как надо.
не совсем понял суть вопроса, какие именно индексы?
PEHDOMНе обращал внимания, что есть столь полные списки методов. Буду изучать.
Если почитать документацию
def on_sc(self): self.table.scrollTo(12, hint=QAbstractItemView.EnsureVisible)
def on_sc(self): self.table.scrollTo(self.table.item(12, 1), hint=QAbstractItemView.EnsureVisible)
Kyrymну так вам нужно туды передать инстанс класса QModelIndex, а не пару цифирь.
Но это всё не работает.
PEHDOMТак если у меня QTableWidget(), то модели-то нет. А конструкция self.table.item(12, 1) не пашет.
типа model.index(12,1)
Kyrymс чего вы взяли?
Так если у меня QTableWidget(), то модели-то нет
self.table.scrollTo(self.table.model().index(12,1), 3)
QModelIndex QTableWidget::indexFromItem ( QTableWidgetItem * item ) constТ.е. типа:
Возвращает QModelIndex, связанный с данным элементом.
self.table.scrollTo(self.table.indexFromItem(const QStandardItem * item), 3)
self.table.scrollTo(self.table.indexFromItem(self.table.item(12,1)), 3)