PyQt5

というのを初めて触っている。なんか、すごい簡単なコードで、ちゃんとしたGUIプログラムが書けるのが感動的。

先日は久々にVisualStudioでGUIアプリを作って、やっぱりVisualStudioすごい!と思っていたけれど、実はそんなことはなかったのだった。

で、QtSqlモジュールを使って、

data = qts.QSqlQueryModel()
data.setQuery(sql)

とやると、

QSqlQuery::exec: database not open

というエラーが出る。内心、データベースを指定していないのだから当然だよな、と思いつつ

data = qts.QSqlQueryModel(db)
data.setQuery(sql)

 等とやると、本来想定していないオブジェクト型です、というエラーが出る。

やっとわかったのが、dbの設定は予めした上で、

if db.open():
    data = qts.QSqlQueryModel()
    data.setQuery(sql)

とやるべきであった、ということ。でもこれを明示しているサイトや本がない。