PyQt5 チュートリアル - プッシュボタン
胡金庫
2023年1月30日
PyQt5
PyQt5 Button
プッシュボタンウィジェット QPushButton は PyQt5 のコマンドボタンです。ユーザーがクリックすると、PC に適用、キャンセル、保存などの特定のアクションを実行するように指示されます。
PyQt5 プッシュボタン-QPushButton
import sys
from PyQt5 import QtWidgets
def basicWindow():
app = QtWidgets.QApplication(sys.argv)
windowExample = QtWidgets.QWidget()
buttonA = QtWidgets.QPushButton(windowExample)
labelA = QtWidgets.QLabel(windowExample)
buttonA.setText("Click!")
labelA.setText("Show Label")
windowExample.setWindowTitle("Push Button Example")
buttonA.move(100, 50)
labelA.move(110, 100)
windowExample.setGeometry(100, 100, 300, 200)
windowExample.show()
sys.exit(app.exec_())
basicWindow()
どこ、
buttonA = QtWidgets.QPushButton(windowExample)
buttonA は QtWidgets の QPushButton であり、[前の章で紹介したラベル]と同じウィンドウ windowExample に追加する必要があります(/ja/tutorial/pyqt5/pyqt5-label/)。
buttonA.setText("Click!")
buttonA のテキストを Click! に設定します。

実際には、ボタンは今のところ何もしません。
PyQt5 QLabel ラベルウィジェットセットスタイル
背景色、フォントファミリー、フォントサイズのような PyQt5 の QLabel ウィジェットのスタイルは setStyleSheet メソッドで設定できます。CSS のスタイルシートのように機能します。
buttonA.setStyleSheet(
"background-color: red;font-size:18px;font-family:Times New Roman;"
)
次のスタイルで buttonA を設定する、
| スタイル | 値 |
|---|---|
background-color |
red |
font-size |
18px |
font-family |
Times New Roman |
CSS に似ているため、PyQt5 でスタイルを設定すると便利です。
import sys
from PyQt5 import QtWidgets
def basicWindow():
app = QtWidgets.QApplication(sys.argv)
windowExample = QtWidgets.QWidget()
buttonA = QtWidgets.QPushButton(windowExample)
labelA = QtWidgets.QLabel(windowExample)
buttonA.setStyleSheet(
"background-color: red;font-size:18px;font-family:Times New Roman;"
)
buttonA.setText("Click!")
labelA.setText("Show Label")
windowExample.setWindowTitle("Push Button Example")
buttonA.move(100, 50)
labelA.move(110, 100)
windowExample.setGeometry(100, 100, 300, 200)
windowExample.show()
sys.exit(app.exec_())
basicWindow()

PyQt5 QLabel ラベルクリックイベント
ボタンクリックイベントは、QLabel.clicked.connect(func) メソッドを使用して特定の関数に接続されます。
import sys
from PyQt5 import QtWidgets
class Test(QtWidgets.QMainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
self.buttonA = QtWidgets.QPushButton("Click!", self)
self.buttonA.clicked.connect(self.clickCallback)
self.buttonA.move(100, 50)
self.labelA = QtWidgets.QLabel(self)
self.labelA.move(110, 100)
self.setGeometry(100, 100, 300, 200)
def clickCallback(self):
self.labelA.setText("Button is clicked")
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
test = Test()
test.show()
sys.exit(app.exec_())
QPushButton buttonA がクリックされると、clickCallback 関数がトリガーされ、ラベルのテキストが Button is clicked に設定されます。
チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
