티스토리 뷰

Python/PyQt5

PyQt5: QPushButton 사용법

editor752 2019. 11. 14. 18:18

이 글은Codetorial의 PyQt5,초보자를 위한 Python GUI 프로그래밍-PyQt5등을 학습하는 과정을 기록한 것이다. 강좌 자체는 해당 사이트를 참고하기 바란다.

QPushButton: QtWidgets 패키지에 포함된, GUI에서 기본적 위젯으로 사용자가 프로그램에게 어떤 작업을 시작할 것을 지시하는 명령 버튼으로 주로 쓴다.

  • 자주 쓰는 메서드

    메서드 설명
    setCheckable() True 설정 시, 누른 상태와 그렇지 않은 상태를 구분합니다.
    toggle() 상태를 바꿉니다.
    setIcon() 버튼의 아이콘을 설정합니다.
    setEnabled() False 설정 시, 버튼을 사용할 수 없습니다.
    isChecked() 버튼의 선택 여부를 반환합니다.
    setText() 버튼에 표시될 텍스트를 설정합니다.
    text() 버튼에 표시된 텍스트를 반환합니다.
  • 자주 쓰는 시그널

    시그널 설명
    clicked() 버튼을 클릭할 때 발생합니다.
    pressed() 버튼이 눌렸을 때 발생합니다.
    released() 버튼을 눌렀다 뗄 때 발생합니다.
    toggled() 버튼의 상태가 바뀔 때 발생합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import sys
from PyQt5.QtWidgets import QApplication, QPushButton, QWidget, QVBoxLayout
from PyQt5.QtGui import QIcon, QPixmap
 
 
class MyApp(QWidget):
 
    def __init__(self):
 
        super().__init__()
        self.setUI()
 
 
    def setUI(self):
 
        # 첫 번째 파라미터로는 버튼에 나타날 텍스트, 두 번째는 버튼이 속할 부모 클래스를 지정.
        # 버튼에 단축키(shortcut)를 지정: 해당 문자 앞에 ampersand(‘&’)를 넣어준다.이 버튼의 단축키는 ‘Alt + b’.
        btn1 = QPushButton('&Button 1', self)
        # setCheckable(): True 설정 시, 누른 상태와 그렇지 않은 상태를 구분합니다.
        btn1.setCheckable(True)
        # toggle(): 상태를 바꿉니다.
        btn1.toggle()
 
        btn2 = QPushButton(self)
        # setText(): 버튼에 표시될 텍스트를 설정합니다.
        btn2.setText('Button &2')
 
        btn3 = QPushButton('Button 3', self)
        # setEnalbed(): False 설정 시, 버튼을 사용할 수 없습니다.
        btn3.setEnabled(False)
 
        vbox = QVBoxLayout()
        vbox.addWidget(btn1)
        vbox.addWidget(btn2)
        vbox.addWidget(btn3)
 
        self.setLayout(vbox)
        self.setWindowTitle('QPushButton')
        self.setGeometry(300300300200)
        self.show()
 
 
if __name__ == '__main__':
 
    app = QApplication(sys.argv)
    ex = MyApp()
    sys.exit(app.exec_())
 
cs

 

실행 화면


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함
11-25 22:18