我开始学习 Qt for python,正如我在阅读这篇文章后想知道的那样: qt - pyqt QTableView not populating when changing databases.如果有一种方法可以使用 SQLAlchemy session 而不是(重新)打开数据库连接作为带有 Qt 的 QTableView 小部件的表模型。
有点类似的东西:
databasePath = "base.sqlite" # used for production
engine = create_engine('sqlite:///' + databasePath, echo=True)
# initializing session :
Session = sessionmaker(bind=engine)
session = Session()
# Set up the user interface from Designer.
self.setupUi(self)
self.model = QSqlTableModel(self)
self.model.setTable("records")
self.model.setSort(FILEORDER, Qt.AscendingOrder)
self.model.setHeaderData(ID, Qt.Horizontal, QVariant("ID"))
self.model.setHeaderData(NAME, Qt.Horizontal, QVariant("Name"))
self.model.select()
self.tableView.setModel(self.model)
非常感谢任何帮助,以及思考这个问题的新方法。
谢谢
最佳答案
看看Camelot .它做的更多:)
当 Q*View 和 Q*Model 体验所产生的挫败感和焦虑迫使我开始在 SqlAlchemy 的基础上实现自己的东西时,我很高兴地发现了它。它实现了一半,当我找到工具时,它所做的比我梦想的要多得多,与 QSqlRelationalTableModel 斗争。
关于python - 使用 PyQt4 - QTableView 与 SQLAlchemy 使用 QSqlTableModel(或不),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2397987/