python - QSqlTableModel,数据函数重载

标签 python pyqt

我正在尝试继承 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 获取数据。我在哪里可以找到它?还是只是我的电话错误?

提前致谢。

最佳答案

我不确定 record.value 应该是什么(您的代码中没有指示 record 变量的位置或设置方式或时间) 。无论如何,对于“从 QSqlTableModel 获取数据”(我假设您指的是您要子类化的基类),请使用

whatever = QSqlTableModel.data(self, modelIndex, role)

关于python - QSqlTableModel,数据函数重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2338276/

相关文章:

python - bigquery python client.run_async_query 给出错误 : 409 Already Exists

python - 查找 python 文件中的所有空格、换行符和制表符

python - reshape 数据帧 : Pivot, 堆栈还是分组?

python - 在python程序中使用DBus

python - 如何从接口(interface)获取物理接口(interface) IP 地址

python - pyQTGraph设置轴值(FFT)

python - 用PLY解析python,如何编写缩进和缩进部分

python eventlet - 何时使用 tpool VS Greenpool

python - 为什么我不能使用 QtSql (PyQT) 执行 SHOW PROCESSLIST?

python - PyQt4 中的 Q_ENUMS