1
我想繼承QSqlTableModel,使數據我的表格以我需要的方式顯示。QSqlTableModel,數據函數過載
class TableViewModel(QSqlTableModel):
def __init__(self):
super(TableViewModel, self).__init__()
def flags(self, modelIndex):
if not modelIndex.isValid():
return
if modelIndex.column() != 1 and modelIndex.column() != 4:
return Qt.ItemIsEnabled | Qt.ItemIsSelectable
return Qt.ItemIsEditable | Qt.ItemIsEnabled | Qt.ItemIsSelectable
def data(self, modelIndex, role=Qt.DisplayRole):
if not modelIndex.isValid():
return QVariant()
if role != Qt.DisplayRole & role != Qt.EditRole:
return QVariant()
return record.value(modelIndex.column())
有了這段代碼,我只得到空單元格。如果沒有data()函數,這段代碼完美工作,那麼TableView中顯示的數據就應該是這樣。
我只是通過從QSqlTableModel獲取數據而陷入困境。我在哪裏可以找到它?或者這只是我的錯誤?
在此先感謝。
謝謝,它有幫助。我試圖用我自己的方式來做,但是在某個地方被誤認爲是結果 - 遞歸 – serge 2010-02-26 12:19:32
謝謝你很好,但是如果這個答案有幫助,接受它怎麼樣?這就是禮節(使用你想接受的答案左邊數字下方的複選標記形狀圖標)。 – 2010-02-26 15:12:29
也許超級(TableViewModel,self).data(modelIndex,role)更好;) – Grissiom 2011-08-05 13:59:50