1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Pyside2でGUI作成<幼稚園レベル>

Posted at

##はじめに
Pyside2を勉強していて一番最初に引っかかるQApplicationQWindowについて、何となく理解できたのでまとめてみました。

##今回作るもの

###完成図
非常に簡素なWindowです。
image.png
###コード

.py
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_()) 

##解説

.py
from PySide2.QtWidgets import *

QtWidgetsをインポートしています。QtWidgetsの中には、WindowのベースとなるQWidgetや、ボタンQPushbuttonを作成するようなクラスが含まれています。

.py
from PySide2.QtWidgets import QApplication,QWidget

*(ワイルドカード)を使わずに上記のように、クラスを指定してimpotすることもできます。

.py
import sys

sys.argv()を利用する為、sysモジュールもインポートします。sys.argv()については後で説明します。

.py
if __name__ == '__main__':

if __name__ == '__main__はネットに説明がたくさんあるので割愛。

.py
    app = QApplication(sys.argv)

QApplicationを変数appに格納します。
QApplicationとはGUIを乗せるための基礎のようなものです。

.py
    main_window = QWidget()

QWidgetを、変数main_windowに格納しています。
QWidgetはボタンやラベルを配置するwindowになります。
QApplicationQWindowの関係はこんなイメージです。
image.png

.py
    main_window.resize(600,200)

Windowサイズを指定します。数値を変更するとサイズが変わります。
色や形を変更したりもできるようです。

.py
    main_window.show

作成したmain_window=QWindow()を表示します。

.py
    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

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?