如何在 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
我正在尝试使用 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