はじめに
前回はPyQt5のHelloWorldをしました。
今回はPyQtのモジュールやツールなどのまとめです
内容は
- 1.モジュール集
- 2.ツール集
- 3.widget集
の3点です。
1.モジュール集
PyQtでよく使われるモジュール集
1.QtCore:他のモジュールから使われる,non-GUIでコアなクラス集
2.QtGui:グラフィックユーザーインターフェース
3.QtMultimedia:lowレベルのマルチメディア様クラス集
4.QtNetwork:ネットワークプログラムのためのクラス集
5.QtOpenGL:OpenGLをつかうためのクラス集
6.QtScript:Qt Scriptsを評価するためのクラス集
7.QtSql:SQLを使ってデータベースとインテグレーションするためのクラス集
8.QtSvg:SVGファイルを表示するためのクラス集
9.QtWebKit:HTMLをレンダリングしたり編集したりするためのクラス集
10.QtXml:XMLを扱うためのクラス集
11.QtWidges:クラシックなデスクトップスタイルのUIを作成するためのクラス集
12.QtDesigner:Qt Designerの拡張のためのクラス集
13.QtAssistant:オンラインヘルプのためのモジュール
2.ツール集
PyQt5開発でよく使われるツール集
1.assistant: Qt Assistant ドキュメントツール
2.pyqt5designer: Qt Designer GUIのレイアウトツール
3.linguist: Qt Linguist 翻訳様ツール
4.lrelease: tsファイルをqmファイルにコンパイルする(ts,qmファイルってなんだろう...)
5.pylupdate5: よくわかりません
6.qmake: Qtソフトビルドツール
7.pyqt5qmlscene: QMLファイルビューアー(QMLファイルとはなんだ...)
8.pyqmlviewer:QMLファイルビューアー
9.pyrcc5:Qtリソースファイルコンパイラー(リソースファイルとは?)
10.pyuic5:uiファイルからコードを生成するQt User Interface Compiler
11.pyqmltestrunner: QMLコードを単体テスト実行する(QMLファイルって何だ...)
12.qdbus: D-Busサービスのためのコマンドラインツール
13.QDoc: ソフトウェアプロジェクトのドキュメントを生成する
14.Qhelpgenerator: Qt Helpファイルの生成とビューイング
15.qmlimportscanner: QMLインポート上での解析と報告
3.widget集
PyQtのAPIの概要
PyQtAPI
・ 400を超えるクラスが含まれる
・QObjectクラスがクラスの元
・QPaintDeviceクラスはペイントできるオブジェクトクラスの元
QApplicationクラス
・GUIアプリケーションの設定と制御フローを管理
・メインループ内で発生するウィンドウやその他のソースからのイベントの管理も行う
QWidgetクラス
・QObjectクラスとQPaintDeviceクラスから派生したQWidgetクラスはすべてのユーザーインターフェイスオブジェクトとの基本クラス
・QDialogクラスとQFrameクラスもQWidgetクラスから派生している
PyQtでよく使用されるWidget集
1.QLabel: テキストや画像を表示するために使われる
2.QLineEdit: ユーザーがテキストの一行目に入るの強制するテキスト?
3.QTextEdit: ユーザーが複数のラインに入るのを強制するテキスト?
4.QPushButton: ボタン
5.QRadioButton: ラジオボタン
6.QCheckBox: チェックボックス
7.QSpinBox: スピンボックス
8.QScrollBar: スクロールバー
9.QSlider: スライダー
10.QComboBox: ドロップボックスに選択肢を出す
11.QMenuBar: QMenuオブジェクトを縦に格納したもの
12.QStatusBar: QMainWindowの下にある.状態を表示
13.QToolBar: QMainWindowの上にある.アクションボタンを集のう
14.QListView: ListModeかIconModeで選択肢を表示
15.QPixmap: QLabel,QPushBUttonオブジェクトのオフスクリーンイメージを表示
16.QDialog: 親情報を持っているモーダルウィンドウ
最後に
PyQtでは,GUI開発を楽にするために多くのモジュールやツールを作成してくれているんですね。
今後こういった道具をうまく活用していって便利なGUIを作成できたらいいなと思います。
参考