👋
PyQt6 #01 Tutorial
はじめに
大学の研究でPyQtを使うことになったので,ここに備忘録として残します.
ソースコードをGitHubに上げているので,参考にしたい方はぜひ.
導入
PyQt6インストールコマンド
pip install PyQt6
執筆当時,最新バージョンPyQt 6.4.0
参考
Step1: 画面表示
空のウィンドウを表示させる
import sys
from PyQt6 import QtCore, QtWidgets
# ウィンドウに関する定義クラス
class MainWindow(QtWidgets.QWidget):
def __init__(self):
super(MainWindow, self).__init__()
# ウィンドウを表示する位置(x,y)と大きさ(w,h)を指定
# setGeometory(x, y, w, h)
self.setGeometry(300, 50, 400, 350)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec())
こんな感じ
Step2: テキストの表示
ウィンドウ内にテキストを表示する
テキストのアライメントとかも指定できるらしい
class MainWindow(QtWidgets.QWidget):
def __init__(self):
super(MainWindow, self).__init__()
# ウィンドウを表示する位置(x,y)と大きさ(w,h)を指定
# setGeometory(x, y, w, h)
self.setGeometry(300, 50, 400, 350)
+ # Hello World!と書かれたラベルを追加
+ self.label = QtWidgets.QLabel('Hello World!', self)
+ # ラベルを表示する位置と大きさを指定
+ self.label.setGeometry(50, 50, 100, 10)
こんな感じ
Step3: ボタン
クリックすると'Button Clicked!'と出力するボタンを作る
class MainWindow(QtWidgets.QWidget):
def __init__(self):
super(MainWindow, self).__init__()
# ウィンドウを表示する位置(x,y)と大きさ(w,h)を指定
# setGeometory(x, y, w, h)
self.setGeometry(300, 50, 400, 350)
# Hello World!と書かれたラベルを追加
self.label = QtWidgets.QLabel('Hello World!', self)
# ラベルを表示する位置と大きさを指定
self.label.setGeometry(50, 50, 100, 10)
+ # Buttonと書かれたボタンを追加
+ button = QtWidgets.QPushButton('Button', self)
+ button.setGeometry(170, 155, 60, 40)
+ # ボタンがクリックされたときにself.buttonClicked関数を発火
+ button.clicked.connect(self.buttonClicked)
+
+ def buttonClicked(self):
+ print('Button Clicked!')
こんな感じ
button.clicked
の他にも,button.pressed
やbutton.released
などの指定もできる
参考
公式ドキュメント
Discussion