PyQt5のチュートリアルを動かす ① Hello World
はじめに
以下のサイトを参考にPyQt5のチュートリアルを動かしてみました。
サンプル1
最初のサンプルです。
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
def window():
app = QApplication(sys.argv)
w = QWidget()
b = QLabel(w)
b.setText("Hello World!")
w.setGeometry(100,100,200,50)
b.move(50,20)
w.setWindowTitle("PyQt5")
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
window()
実行結果
=== プログラムの説明 ===
このプログラムは以下の流れで処理を行っています。
1.PyQtに含まれるQtCore
,QtGui
,QtWidgets
モジュールをインポート
2.アプリケーションオブジェクトのQApplication
クラスを生成
3.QWidget
で最上位のウィンドウを作成し,QLable
オブジェクトを設置
4.ラベルに"hello world"という文字を記載
5.setGeometry()
メソッドでウィンドウのサイズと位置を定義
6.app.exec_()
メソッドでアプリケーションのメインループに入る
サンプル2
また、先程のコードをオブジェクト志向の様に作成することも可能です。
その場合のコードは以下のようになります。
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class window(QWidget):
def __init__(self, parent = None):
super(window, self).__init__(parent)
self.resize(200,50)
self.setWindowTitle("PyQt5")
self.label = QLabel(self)
self.label.setText("Hello World")
font = QFont()
font.setFamily("Arial")
font.setPointSize(16)
self.label.setFont(font)
self.label.move(50,20)
def main():
app = QApplication(sys.argv)
ex = window()
ex.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
実行結果です。
=== プログラム説明 ===
先程のプログラムと違う点についてはQWidget
クラスを元にしたwindowクラスを宣言しているところです。これによって,1つ1つのwidgetを独立して作成していき、それを組み合わせることで大きなGUIプログラムを作成していくものと予想できます。
さいごに
QApplicationというクラスがPyQtのアプリを内部で管理しているのでしょうか?
今後もサンプルを動作させていき理解を深めて行ければなと思います。
次回
次回はモジュールやツールのまとめです。
Author And Source
この問題について(PyQt5のチュートリアルを動かす ① Hello World), 我々は、より多くの情報をここで見つけました https://qiita.com/hoshianaaa/items/21b17088e8e6dc3481c3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .