PyQt5は、C++で開発されているQtをPythonから利用できるようにしたフレームワークです。
本記事では、PyQt5のインストール方法やPyQt5を使用する入門としてウィンドウの表示方法を解説しています。
PyQt5を導入しよう
まずは、初めにPyQt5をインストールしていきましょう!
WindowsのコマンドプロンプトあるいはMacのターミナルで、pipを用いて「SIP」と「PyQt5」のインストールを行います。
以下のコマンドを実行してください!
pip install SIP
pip install PyQt5
PyQtでウィンドウを表示する
メインプログラム
では実際にPyQt5を用いてメインウィンドウを作成してみましょう。
ウィンドウを表示させるためのプログラムを以下に示します。
import sys
from PyQt5 import QtWidgets
def main():
app = QtWidgets.QApplication(sys.argv)
mainwindow = QtWidgets.QWidget()
mainwindow.setWindowTitle('PyQt5 Window')
mainwindow.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
(実行結果)
上記プログラムが、PyQt5を用いてGUIを作成する上での基礎となります。
プログラムの解説
PyQt5を用いてGUIを構築するためには、sysとQtWidgetsをインポートします。
import sys
from PyQt5 import QtWidgets
- sys:systemパラメータを利用できるようにするライブラリ
- QtWidgets:PyQtでGUIを作成するためのモジュール
次に、ウィンドウを作成します。まず、イベントループと繋ぐためのアプリケーションオブジェクトを作成します。PyQtを用いているGUIアプリケーションには、必ずQApplicationオブジェクトが必要となります。
QApplication()では、コンストラクタに引数を渡す必要があるため、コマンドライン引数であるsys.argvを設定します。
その後、メインウィンドウを作成します。
app = QtWidgets.QApplication(sys.argv) #オブジェクトの作成
mainwindow = QtWidgets.QWidget() #windowの作成
setWindowTitleでは、ウィンドウのタイトルを指定します。
mainwindow.show()は、ウィンドウを画面上に表示させるためのステートメントです。
最後にsys.exit(app.exec_())は、イベントループを開始させて、そのループを維持させるために必要です。これを定義しない場合には、ウィンドウが一瞬で消えてしまいます。
mainwindow.setWindowTitle(”PyQt5 Window”) #タイトルの指定
mainwindow.show() #ループの実行
sys.exit(app.exec_()) #ループの維持
PyQt5でウィンドウサイズを変更する方法
PyQt5でウィンドウサイズを変更したい場合には、setGeometry()メソッドを使用します。
インスタンス名.setGeometry ( x座標 , y座標 , ウィンドウ幅 , ウィンドウ高さ )
第一引数と第二引数で指定する点の座標は、ウィンドウの左上の端点座標を示します。
実際に使用してみると以下のようになります。
import sys
from PyQt5 import QtWidgets
def main():
app = QtWidgets.QApplication(sys.argv)
mainwindow = QtWidgets.QWidget()
mainwindow.setGeometry ( 100 , 100 , 400 , 200 )
mainwindow.setWindowTitle('PyQt5 Window')
mainwindow.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
以上となります。最後まで見ていただきありがとうございました!
tkinterを用いてウィンドウを表示する方法も解説していますので是非参考にしてみて下さい!