vic57
когда-то писал консольку для изучения SQL, если найду в закромах, портирую на питон и выложу
Буду очень благодарен! В дальнейшем буду с firebird разбираться, а для работы с таблицами в PyQt4 в частности заполнение: либо циклом, либо через модель данных (в зависимости от того что используешь Table Widget или Table View), для себя решил, что лучше через модель. Вот если б еще и GUI пример бы был
Rodegast
Ну и вот пример как надо на python-е писать:
К Вам еще с вопросами
вот переписал метод с учетом Ваших замечаний
def headerData (self, selection, orentation, role=Qt.DisplayRole):
if role == Qt.DisplayRole:
if orentation == Qt.Horizontal:
return 'Column %s'%selection
else:
return 'Row %s'%selection
else: return None
Сильнее его не опитонить?
Еще вот такой метод
def flags(self, index):
if not index.isValid:
return Qt.ItemIsEnabled
return super(StringListModel, self).flags(index) | Qt.ItemIsEditable
Есть ли принципиальная разница, если из основного условия убрать отрицание и ретурны соответственно местами поменять?
А в следующем методе, надо ли переменной i дописать self?
def insertRows(self, position, rows, parent = QModelIndex()):
self.beginInsertRows(QModelIndex(), position, position+rows-1)
i = 0
while i < rows:
self._stringList.insert(position, '')
i += 1
self.endInsertRows()
return True
И самое не дающее мне покоя при закрытии моего примера (при условии, что по форме не кликали мышкой т.е. запустили и тут же закрыть) в консоли выводится ошибка
QObject::startTimer: QTimer can only be used with threads started with QThread
Что-то я ее отловить никак не могу.