Форум сайта python.su
reclosedevТочно не помню, что не получалось - но в итоге собрать не смог.
Так собираете? Что конкретно не получается, или другие причины?
Офлайн
Весь класс переопределил, но осталась одна тонкость - как вызвать слот insertRows и removeRows?
Когда вызываю через обычную связку Сигнал->слот, то параметры не приходят, которые мне нужны для формирования запроса в БД.
Офлайн
FroLНе понял, покажите код и чего не хватает для формирования запроса?
Весь класс переопределил, но осталась одна тонкость - как вызвать слот insertRows и removeRows?
Когда вызываю через обычную связку Сигнал->слот, то параметры не приходят, которые мне нужны для формирования запроса в БД.
Офлайн
функция insertRows:
def insertRows(self, position, rows = 1, index = QtCore.QModelIndex()): position = len(self.cached) self.beginInsertRows(QtCore.QModelIndex(), position, position + rows - 1) self.cached.insert(position + rows, ['','']) self.endInsertRows() return True
Офлайн
FroLТак незачем соединять clicked и insertRows напрямую
Если ее вызвать связкой сигнала кнопки Clicked и слота insertRows, то параметры position и index, естественно, пустые. Но я вышел из ситуации и вставляю новую строку в конец, а не в то место где находится курсор.
def connect_signals(self): self.buttonInsert.clicked.connect(self.on_insert_clicked) ... def on_insert_clicked(self): index = self.table_view.selectionModel().currentIndex() model.insertRows(index.row())
Офлайн
большое спасибо за ответ - буду пробывать :)
reclosedevа position - это как раз и есть номер строки, в которую надо вставить пустую запись, но как вычислить row мне уже ясно ;)
С position не совсем понял, она у вас переписывается в функции.
reclosedev
view.selectionModel().currentIndex().row()
Отредактировано FroL (Авг. 25, 2012 07:51:16)
Офлайн
Все реализовал, только остались детали.
При редактировании значении ячейки она перекрывает соседние столбцы справа. Если подогнать под размер столбцы при помощи метода setStretchLastSection, то колонки получаются огромные, если размерность столбца 100 символов.
Как сделать так, что бы при редактировании та часть ячейки которая не помещается в столбце была скрыта, а не перекрывала соседние столбцы?
Офлайн
Можно попробовать
http://qt-project.org/doc/qt-4.8/qheaderview.html#setResizeMode
Не знаю только какой ResizeMode указывать.
Офлайн