python - 使用 PyQt4 - QTableView 与 SQLAlchemy 使用 QSqlTableModel(或不)

标签 python sqlite sqlalchemy pyqt4

我开始学习 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/

相关文章:

python - Pandas 在对 HTTPS 资源使用方法 read_html 时引发 ssl.CertificateError

python - 当跨模块派生类时,名称解析如何工作?

c - SQLite3 不返回特殊字符

android - 如何获取具有相同列名的连接表的值?

python - 如何解决 Flask-SQLAlchemy 数据库 session 超时(避免 "MySQL server has gone away")

python - 为什么在使用 GTKGLArea 时在 PyOpenGL 中未定义 glGenVertexArrays

python - 向 heroku postgres 数据库添加一列

python - str 对象不可调用 (sqlite3)

python - 如何从 SQLAlchemy ORM 类生成列值的字典?

database - 与 SQLAlchemy 不区分大小写的完全匹配