我正在尝试继承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获取数据。我在哪里可以找到它?或者这只是我的判断错了?
提前谢谢。
发布于 2010-02-26 10:13:16
我不确定这个record.value应该是什么(在您的代码中没有说明这个record变量位于何处,以及它是如何设置的或何时设置的)。无论如何,对于“从QSqlTableModel获取数据”(我假设您指的是您正在子类化的基类),可以使用
whatever = QSqlTableModel.data(self, modelIndex, role)https://stackoverflow.com/questions/2338276
复制相似问题