使用PyQt4 - QTableView与SQLAlchemy和QSqlTableModel结合使用
我正在开始学习Python的Qt,看到这篇帖子后我在想:qt - pyqt QTableView在更改数据库时没有填充。 有没有办法用SQLAlchemy的会话来代替(重新)打开数据库连接,作为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)
任何帮助都将非常感激,同时也欢迎新的思路来解决这个问题。
谢谢
1 个回答
5
看看这个Camelot吧。它的功能可多着呢:)
我当时因为用Q*View和Q*Model遇到了一堆麻烦,心里特别烦躁,结果决定自己动手用SqlAlchemy来实现一个。刚做了一半的时候,我就发现了这个工具,它的功能远远超出了我之前的想象,真是让我大开眼界,之前我还在为QSqlRelationalTableModel而苦恼呢。