PyQt5 チュートリアル - プッシュボタン

  1. PyQt5 プッシュボタン-QPushButton
  2. PyQt5 QLabel ラベルウィジェットセットスタイル
  3. PyQt5 QLabel ラベルクリックイベント

プッシュボタンウィジェット QPushButton は PyQt5 のコマンドボタンです。ユーザーがクリックすると、PC に「適用」、「キャンセル」、「保存」などの特定のアクションを実行するように指示されます。

PyQt5 プッシュボタン-QPushButton

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

buttonAQtWidgetsQPushButton であり、[前の章で紹介したラベル]と同じウィンドウ windowExample に追加する必要があります(/ja/tutorial/pyqt5/pyqt5-label/)。

buttonA.setText('Click!')

buttonA のテキストを Click! に設定します。

PyQt5 プッシュボタン

実際には、ボタンは今のところ何もしません。

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 プッシュ Button_setStyleSheet の例

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」に設定されます。

comments powered by Disqus