Qtには沢山モジュールがあり、pythonの実装の一つであるPysideでも、豊富なモジュールの恩恵をうけることが出来ます。
各言語の標準となるライブラリに同等な機能があったりして何方を使うか迷う場面もありそうですが、他言語でもQtの知識を共有できる点でPysideのモジュールを使うように心がけようと思っています。
とりあえず概要をつかむため、Geminiに主要モジュールの一覧を作成してもらいましたので、こちらを眺めて次はモジュールを勉強するか考えたいと思います。
主要モジュール一覧
- QtCore:
- コアとなる非GUI機能を提供します。
- イベントループ、シグナルとスロット、タイマー、ファイルシステム、スレッド、データストリーム、設定などを扱います。
- QtGui:
- GUIに関連する基本的な機能を提供します。
- フォント、色、画像、描画、クリップボード、ドラッグ&ドロップなどを扱います。
- QtWidgets:
- デスクトップアプリケーションのGUIウィジェットを提供します。
- ボタン、ラベル、テキストボックス、リスト、テーブル、ダイアログなどを扱います。
- QtNetwork:
- ネットワーク関連の機能を提供します。
- TCP/IP、UDP、HTTP、SSLなどを扱います。
- QtMultimedia:
- マルチメディア関連の機能を提供します。
- オーディオ、ビデオ、カメラなどを扱います。
- QtSvg:
- SVG(Scalable Vector Graphics)関連の機能を提供します。
- SVGファイルの表示、操作などを扱います。
- QtWebEngineWidgets:
- Webコンテンツを表示するための機能を提供します。
- ChromiumベースのWebエンジンを組み込み、Webページの表示、JavaScriptの実行などを扱います。
- QtQml:
- QML(Qt Meta Language)に関連する機能を提供します。
- QMLファイルの表示、操作などを扱います。
- QtQuick:
- QMLを使用して、現代的で滑らかなユーザーインターフェースを作成するための機能を提供します。
- アニメーション、トランジション、視覚効果などを扱います。
- QtSql:
- データベース関連の機能を提供します。
- SQLデータベースとの接続、クエリの実行などを扱います。
QtはGUIのライブラリだと思っていたので、ボタンやテキストボックスなどのUIの部品(ウィジェット)が主な機能だと思っていたのですが、ネットワークやデータベースなどもカバーしています。さらに、プラットフォームごとに異なるファイルシステムやアプリケーションの設定を管理する機能(Windowsならレジストリ、Linuxならiniファイルなど)など、クロスプラットフォームでアプリケーションを作成するために必要な機能が網羅されている感じです。
コメント