我開始學習Qt的Python和我想知道看完這篇文章後: qt - pyqt QTableView not populating when changing databases.如果有一種方法使用SQLAlchemy會議,而不是(re- )使用Qt的QTableView小部件作爲表模型打開數據庫連接。使用PyQt4 - QTableView與SQLAlchemy使用QSqlTableModel(或不)
的東西,將工作有點像:
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)
任何幫助將不勝感激,以及新的方式來思考這個問題。
謝謝
嗯,我想我會開始對隨後 – 2010-03-08 23:33:55
非常有趣的問題:) 工作雖然這將是巨大的,如果你能以某種方式與其他類結合PyQt4中的類,這是不可能的,因爲據我所知。雖然你可以嘗試用SQLAlchemy模擬一個QSqlDatabase,但我認爲它比它的價值更麻煩。 – Wolph 2010-03-12 01:24:32
嗯,我只是嘗試創建一個新的模型,可以使用只是給SQLAlchemy會話作爲參數(也許ORM的類)。 – 2010-03-12 08:28:06