Qt には Qt Designer というインタフェイスビルダーがあります。

実は、Qt の Python binding である PyQt はこれをサポートしていて、Designer で設定した UI ファイルをコンパイルして Python コードを生成することができます。

これで UI のコードは GUI で設定することができるので、かなり嬉しいです。

Qt に組込みのウィジェットを利用するのはすぐにできます。自分で設計したカスタムウィジェットの利用も簡単でした。

基本的にはプレハブ小屋さんのノートの通りです。

ただ、ここには書かれていませんけれども、自分で作っているライブラリの階層のどこかにあるカスタムウィジェットを指定するのに少し悩みました。

Qt Designer でカスタムウィジェットを指定するときには C のヘッダファイルを指定するのですが、自分のカスタムウィジェットを Python で記述したファイルを C のヘッダとみたてて指定すればよいようです。たとえば、 lib/sn/qt/glwidget.py に含まれている GLWidget クラスを指定したい場合には、クラス名として GLWidget を、ヘッダファイルとして sn/qt/glwidget.h を指定したところ、UI コンパイラで from sn.qt.glwidget import GLWidget が生成され、うまく結合させることができました。

コメントを残す