본문 바로가기
Cito 일/아무나 하는 파이썬

[파이썬] 버튼 (QPushButton) 위젯 사용

by Cito citopes 2020. 9. 4.
반응형

파이썬 GUI중에서 가장 많이 사용되는 위젯일것입니다.

사용자의 동작을 실질적으로 실행하게끔 만드는 것 입니다.

 

많이 사용되는 메서드는 아래와 같은것이 있습니다.

setText()			# 버튼에 표시될 텍스트를 set 합니다.
test()				# 버튼에 표시된 텍스트를 get 합니다.
isChecked()			# 버튼의 선택여부 반환 합니다.
setEnabled()		# false 설정시 버튼을 사용 할 수 없습니다.
setIcon()			# 버튼의 아이콘을 설정합니다.
setCheckable()		# true설정 시 누른상태와 누르지 않은 상태를 구분해 반환
togglea()			# 상태를 전환합니다.

또한 많이 사용되는 시그널은 아래의 것들이 있습니다.

cliked()			# 버튼 클릭 시그널
pressed()			# 버튼 눌렀을때 시그널
released()			# 버튼 눌렀다 땔때
toggle()			# 버튼의 상태가 바뀌었을때

내 개인적으로는 버튼은 cliked()시그널을 가장 많이 사용하는것 같았다.

 

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout


class Btn_show(QWidget):

    def __init__(self):
        super().__init__()

        self.BTNUI()


    def BTNUI(self):


        Btn1 = QPushButton('버튼1', self)  # '버튼1'이라고 적혀있는 버튼(Btn1) 생성
        Btn1.setCheckable(True)  # True로 설정했으므로 선택되거나 선택되어있지 않도록 설정
        Btn1.toggle()  # 버튼의 상태가 바뀝니다. 처음 실행때 이 버튼은 클릭상태로 시작

        Btn2 = QPushButton(self)  # Btn2라는 표시가 없는 버튼 생성
        Btn2.setText('버튼2')  # '버튼2'라는 텍스트를 Btn2에 표시

        Btn3 = QPushButton('버튼3', self)  # '버튼3'이라는 버튼(Btn3)을 생성
        Btn3.setEnabled(False)  # Btn3은 활성화를 시키지 않습니다.

        ############### 버튼의 배치##############
        Vlayout = QVBoxLayout()  # QVBoxLayout을 생성
        Vlayout.addWidget(Btn1)  # Btn1 버튼 배치
        Vlayout.addWidget(Btn2)  # Btn2 버튼 배치
        Vlayout.addWidget(Btn3)  # Btn3 버튼 배치

        self.setLayout(Vlayout)  # 레이아웃 배치
        self.setWindowTitle('QPushButton 테스트')  # 윈도우창 타이틀 설정
        self.setGeometry(100, 100, 300, 300)  # 윈도우창의 위치와 크기를 설정
        self.show()  # 화면에 표시

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Btn_show()
    sys.exit(app.exec_())

실행해 보시고, 확인해 보세요

댓글0