안녕하세요

PyQt5의 QPushButton의 사용방법에 대하여

알아보겠습니다.

 

pushbutton은 말그대로 누르면

시그널을 보내주는 역할을 합니다.

사용자가 원할때 시그널을 보내줄 수 있기 때문에

직관적으로 사용할 수 있습니다.

GUI구성에 있어서 가장 유용한 기능이

button기능이 아닐까 생각합니다.

 

그럼 사용방법에 대해서 알아보겠습니다.

 

 

먼저 GUI구성을 하겠습니다.

Button 3개와 Label 1개로 구성했습니다.

버튼을 클릭하면 라벨에 선택한 버튼에 대한 값이

출력되도록 할 예정입니다.

 

 

import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic

UI = 'QPushButton.ui'
class Dialog(QDialog):
    def __init__(self):
        super().__init__()
        uic.loadUi(UI, self)
        self.setting()

    def setting(self):
        self.pb_1.clicked.connect(lambda: self.change('1'))
        self.pb_2.clicked.connect(lambda: self.change('2'))
        self.pb_3.clicked.connect(lambda: self.change('3'))

    def change(self, get):
        if get == '1':
            self.label.setText('1st')
        elif get == '2':
            self.label.setText('2nd')
        elif get == '3':
            self.label.setText('3rd')

app = QApplication(sys.argv)
ex = Dialog()
ex.show()
sys.exit(app.exec_())

코드는 다음과 같습니다.

Button 각각을 클릭하면 시그널을 보내도록 했습니다.

어떤 Button이 클릭되었는지 확인이 필요하기 때문에

시그널을 보낼때 함수에 각각 다른 값을 보내도록 했습니다.

 

 

실행화면입니다.

GUI구성처럼 실행이 됩니다.

 

 

1st 버튼을 클릭해보겠습니다.

Label에 1st가 입력이 되네요

 

 

다음은 2nd버튼을 클릭해보겠습니다.

마찬가지로 label에 2nd가 입력이 되구요

 

 

마지막으로 3rd버튼을 클릭해보겠습니다.

3rd가 label에 입력됩니다.

 

Button사용방법에 대해서

알아 보았습니다.

필요한 기능이 있으시면 더 추가하여

다양한 기능을 할 수 있도록 구성하면 좋을 듯 합니다.

 

오늘도 고생하셨구요

도움이 되셨으면 합니다.

감사합니다.