如何在 QT QSqlRelationalTableModel 中显示 table 关系 sql table?

How to display table a relational sql table in QT QSqlRelationalTableModel?

我正在尝试使用 QT 的 QSql 关系表模型。我是 Pyqt 新手,sql table 关系不显示我的数据库,这是为什么?我有一个 db 文件,其中的数据库在同一目录中具有关系 tables。 http://pyqt.sourceforge.net/Docs/PyQt4/qtsql.html

from PyQt4.QtGui import * 
from PyQt4.QtSql import * 
from PyQt4.QtCore import * 

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):

        db = QSqlDatabase.addDatabase('QSQLITE')
        db.setDatabaseName('Example.db')
        if db.open():
            return True
        else:
            print(db.lastError().text())
            return False

        model = QSqlRelationalTableModel('Example.db')
        model.setTable("Product")
        model.select()
        model.setHeaderData(0, Qt.Horizontal, 'ProductID')

        view = QTableView(self)
        view.setModel(model)

您在设置模型和视图之前从 initUI 开始 return,因此它们没有被执行:

    if db.open():
        return True
    else:
        print(db.lastError().text())
        return False