2020. 2. 12. 11:01ㆍIT/PyQt5
GUI에는 수많은 버튼이 들어갑니다. 각 버튼마다 표시되는 방법과 역할을 직접 지정할 수 있습니다.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
class QPushButtonApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
btn1 = QPushButton('버튼1', self)
btn2 = QPushButton('버튼2', self)
btn3 = QPushButton('버튼3', self)
btn1.setCheckable(True)
btn1.toggle()
btn2.setText('버튼이름')
btn3.setEnabled(False)
vbox = QVBoxLayout()
vbox.addWidget(btn1)
vbox.addWidget(btn2)
vbox.addWidget(btn3)
self.setLayout(vbox)
self.setWindowTitle('입력버튼')
self.setGeometry(500,500,300,200)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = QPushButtonApp()
sys.exit(app.exec_())
버튼 3개를 만들고 각각 활성화, 버튼 이름 설정, 비활성화 기능입니다. 생긴거에 비해 원리는 무척 단순한데 버튼을 만들고 각 버튼에 옵션을 설정하는 원리입니다. 버튼이 작동하는 조건을 '시그널'이라고 하고, 작동 내용을 '메소드'라고 하고 "버튼.시그널.메소드" 식으로 작성합니다, 요컨데, btn.clicked.function() 라고 하면 클릭되는 시그널을 받아 사용자가 지정한 function 기능을 실행합니다. 아래 링크에서 자주 사용하는 매소드를 확인할 수 있습니다.
- Methods & Description : https://www.tutorialspoint.com/pyqt/pyqt_qpushbutton_widget.htm
-
setCheckable() : Recognizes pressed and released states of button if set to true
-
toggle() : Toggles between checkable states
-
setIcon() : Shows an icon formed out of pixmap of an image file
-
setEnabled() : When set to false, the button becomes disabled, hence clicking it doesn’t emit a signal
-
isChecked() : Returns Boolean state of button
-
setDefault() : Sets the button as default
-
setText() : Programmatically sets buttons’ caption
-
text() : Retrieves buttons’ caption
'IT > PyQt5' 카테고리의 다른 글
[PyQt5] 위젯, 체크박스, 메소드, 변화, (0) | 2020.02.12 |
---|---|
[PyQt5] 위젯, 레이블, 라벨, 텍스트, 글 (0) | 2020.02.12 |
[PyQt5] 레이아웃, 배치, 그리드, 행열, 테이블 (0) | 2020.02.12 |
[PyQt5] 레이아웃, 배치, 박스, 가로, 세로 (0) | 2020.02.12 |
[PyQt5] 레이아웃, 배치, 절대, 위치 (0) | 2020.02.12 |