PyQt5チュートリアル — PythonでGUIアプリの構築
PythonとQtを使用してGUIアプリ を構築するための完全なガイド、LearnPyQt
PythonでGUIアプリを作成すると、スクリプトとユーティリティをプロ並みのアプリケーションにすばやく変換できます。Qtは、GUIを構築するためのプロフェッショナルで成熟した機能満載のライブラリです。PythonからQtを使用するための2つのラッパー、 PyQtとPySideがあります。どちらも、複雑なウィジェット、マルチメディアサポート、2Dベクターグラフィックス、柔軟なモデルビューアーキテクチャなど、Qt5フレームワークのすべての機能をPythonから直接提供します。
基本的な原則からマルチスレッドおよびモデルビューに至るまでの完全なPyQt5チュートリアルについては、以下を参照してください。サンプルアプリとカスタムウィジェットに加えて、PyQt5とPySide2の両方のコードがあります。
コードを書くのと同じように、PyQt5アプリケーションの構築はすべて、正しい方法でアプローチすることです。コースの最初の部分では、できるだけ早くPyQtアプリケーションを構築するために必要な基礎について説明します。最初の部分の終わりまでに、実行QApplication可能な状態になり、カスタマイズすることができます。
アプリケーションが大きくなるか、インターフェースが複雑になると、すべての要素をプログラムで定義するのが少し面倒になります。幸いなことに、Qtには、ドラッグアンドドロップUIエディター(Qt Designer)を含むグラフィカルエディターが付属しています。このコースでは、Qt Designerを使用してUIを作成する基本について説明します。
-
Qt Designerの最初のステップ (05:17) Qt Designerのドラッグアンドドロップインターフェイスを使用してGUIを設計する
-
Qt Designerを使用して GUIをレイアウトする (13:11) Qt Designerを使用して、アプリケーションUIを簡単に構築します
-
Qt Designerからカスタムウィジェットを埋め込む (04:18) Qt Designer を使用して設計するときに、PyQt5アプリケーションでカスタムウィジェットを使用する方法を学習します
Qtのウィジェットはビットマップグラフィックスに基づいて構築されます。長方形のキャンバスにピクセルを描画して「ウィジェット」を構築します。独自のカスタムウィジェットを作成できるようにするには、まずQPainterシステムの仕組みとそれで何ができるかを理解する必要があります。このコースでは、基本的なビットマップグラフィックスから独自の完全にカスタム化されたウィジェットに進みます。
最も単純なアプリ以外は、通常、データベース、リモートAPI、または単純な構成データなど、何らかの種類の外部データストアとやり取りする必要があります。Qt ModelViewアーキテクチャは、カスタム形式のデータまたは外部ソースからのデータでUIのリンクと更新を簡素化します。
アプリケーションがより複雑になると、リモートAPIとのやり取りや複雑な計算の実行など、長時間実行されるタスクを実行したくなることがあります。デフォルトでは、記述するコードは同じスレッドとプロセスに存在します。つまり、長時間実行されるコードは実際にQtの実行をブロックし、アプリを「ハング」させる可能性があります。このコースでは、このような事態を回避し、アプリケーションをスムーズに実行する方法を説明します。
すでに説明した単純なビットマップグラフィックスに加えて、Qtはベクターグラフィックス用のAPIを提供します。ベクトルグラフィックを使用して、通常のウィジェットインターフェイスを超えた複雑でインタラクティブなインターフェイスを構築できます。また、を使用して素敵なグラフをプロットするのにも使用できますPyQtGraph。このコースでは、ベクターグラフィックスを紹介し、PyQtGraphでデータをプロットする方法を見ていきます。
このコースでは、PyQt5アプリケーションのUIを改善するために使用できるいくつかの小さなUI拡張機能について説明します。
アプリの開発には、家を出る必要があるポイントがあります。ソフトウェアを書く楽しみの半分は他の人と共有できることであり、デスクトップアプリは理想的です。誰もがソフトウェアの実行方法を知っています。ただし、Pythonアプリのパッケージ化には少し注意が必要です。このコースでは、PyQt5アプリをパッケージ化して共有する方法について説明します。商業目的であれ、単なる楽しみであれ、共有します。