2020-11-22

【備忘録】Qt for Python について

Qt(キュート)とは、C++ で記述されたクロスプラットフォームに対応したアプリケーションフレームワークです。The Qt Company と Qt Project によって開発されています。オープンソース版では、バージョン 4.5 から LGPL を適用できるようになりました(本ブログ記事作成時点で Qt は バージョン 5.15)。

Qt for Python は、Python の公式バインディングを提供するプロジェクトで、オープンソース版の Qt と同じく、LGPLv3/GPLv3 と Qt commercial license(商用ライセンス)が適用されています [1] [2]。Qt for Python は以下の二つのコンポーネントで構成されています。

  • PySide2
    • Qt5 API を Python アプリケーションで使用できるようにします。
  • Shiboken2
    • Qt の C++ のヘッダファイルから Python のバインディングを生成するジェネレータです [3]

PySide2 のコーディング

このところ PySide2 を使った GUI アプリを自由に作ることができるようになりたいと、公開されているマニュアルやサンプルを参考にして、シンプルな GUI サンプル集を作り始めています。

公開されているチュートリアルなどを見ると、フレームワーク特有のコードの書き出し方があるのに気が付きます。別にコーディング方法に正解、不正解はありませんので、我が道を行く書き方でも良いのですが、自分の場合は、まずはできるだけ世の中のプログラマが使っている書き方を真似して使ってみることにしています。

ということで、学習中で固まりつつある書き方を備忘録的に書き留めます。

qt_pushbutton.py

実行例

/usr/bin/python3 /home/bitwalk/Projects/PySide2_sample/qt_pushbutton.py
「プッシュボタン」がクリックされました。

まとめ

まとめるほどの内容ではありませんが、Python の GUI ライブラリとして利用できる wxPython と PySide2 の特徴を比較できるように、年末ぐらいを目標に一通りのサンプルを揃えられるように作り始めています。

参考サイト

  1. Qt for Python | 公式Pythonバインディング
  2. 法的事項 | ライセンス - Qt
  3. Qt for Python: 舞台裏 [2018-09-22]
  4. Qt for Python — Qt for Python

ブログランキング・にほんブログ村へ
にほんブログ村

0 件のコメント: