반응형
파이썬 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_())
실행해 보시고, 확인해 보세요
반응형
'Cito 일 > 아무나 하는 파이썬' 카테고리의 다른 글
Mysql (MariaDB) 입력 오류 Not all parameters were used in the SQL statement. (0) | 2021.02.21 |
---|---|
파이썬 - 마리아DB 연결 (0) | 2021.02.18 |
Only the following pseudo-classes are implemented: nth-of-type. 파이썬 크롤링 오류 (0) | 2021.01.19 |
[파이썬] 파이썬의 레이아웃 (2) | 2020.09.05 |
[Python]트위터에 쿠파하기 업그레이드 1-4 : 채널 아이디 부여 (1) | 2020.09.01 |
[Python]트위터에 쿠파하기 업그레이드 1-3 : 상품 카테고리 확장 (0) | 2020.08.31 |
[Python] 문자열 공백 제거 (2) | 2020.08.30 |
[Python]트위터에 쿠파하기 업그레이드 1-2 : 네이버 단축 url 사용 (0) | 2020.08.30 |
[Python]트위터에 쿠파하기 업그레이드 1-1 : 상품정보를 낭비하지 말자 (0) | 2020.08.29 |
댓글