我开始学习Qt for python,因为我在阅读这篇文章后想知道: qt - pyqt QTableView not populating when changing databases.如果有办法使用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)
非常感谢任何帮助,以及思考这个问题的新方法。
谢谢
答案 0 :(得分:5)
看看Camelot。它做得更多:)
当Q * View和Q * Model经历所产生的沮丧和焦虑迫使我开始在SqlAlchemy的基础上实现自己的挫折和焦虑时,我很高兴地发现了它。当我发现仪器时,它实现了一半,比我梦寐以求的更多,与QSqlRelationalTableModel斗争。