##はじめに
Pyside2を勉強していて一番最初に引っかかるQApplication
やQWindow
について、何となく理解できたのでまとめてみました。
##今回作るもの
import sys
from PySide2.QtWidgets import *
if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = QWidget()
main_window.resize(600,200)
main_window.show()
sys.exit(app.exec_())
##解説
from PySide2.QtWidgets import *
QtWidgets
をインポートしています。QtWidgets
の中には、WindowのベースとなるQWidget
や、ボタンQPushbutton
を作成するようなクラスが含まれています。
from PySide2.QtWidgets import QApplication,QWidget
*(ワイルドカード)を使わずに上記のように、クラスを指定してimpotすることもできます。
import sys
sys.argv()
を利用する為、sysモジュールもインポートします。sys.argv()
については後で説明します。
if __name__ == '__main__':
if __name__ == '__main__
はネットに説明がたくさんあるので割愛。
app = QApplication(sys.argv)
QApplication
を変数app
に格納します。
QApplication
とはGUIを乗せるための基礎のようなものです。
main_window = QWidget()
QWidget
を、変数main_window
に格納しています。
QWidget
はボタンやラベルを配置するwindowになります。
QApplication
とQWindow
の関係はこんなイメージです。
main_window.resize(600,200)
Windowサイズを指定します。数値を変更するとサイズが変わります。
色や形を変更したりもできるようです。
main_window.show
作成したmain_window
=QWindow()
を表示します。
sys.exit(app.exec_())
app.exec_()
=QApplication.exec_()
は、Windowを表示させ続けるループを作成しています。
ループしないと、表示されたWindowはプログラム終了と同時に消滅します。
sys.exit_()
はプログラムを終了させるコマンドです。app.exec_()
の終了を待っています。
app.exec_()
の終了時に、0
を受け取ってプログラムそのものを終了させます。
sys.exit_()
を記述しなかった場合は、app.exec_()
を終了させた後に続きのプログラムが実行されます。
##追記
Pyside勉強するなら、PysideよりもPyQtで検索したほうが情報量が多い。
PyQtとPysideの違いについてはこちらのページが参考になる。
https://qiita.com/nullpo24/items/c70e02c26ef5cade9480