PyQt5 チュートリアル - プッシュボタン
胡金庫
2023年1月30日
プッシュボタンウィジェット 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
に設定されます。