티스토리 뷰

Python/PyQt5

PyQt5: QRadioButton 사용하기

editor752 2019. 11. 18. 17:53

이 글은 Codetorial의 PyQt5, 초보자를 위한 Python GUI 프로그래밍-PyQt5 등을 학습하는 과정을 기록한 것이다. 강좌 자체는 해당 사이트를 참고하기 바란다.
QRadioButton 위젯은 QCheckBox 위쳇과 달리 체크하는 곳이 동그란 모양인 위젯이다.이 버튼에도 QcheckBox과 마찬가지로 텍스트 라벨이 하나 포함된다.
작동 방식은 QCheckBox 위젯과 크게 다르지 않다. 그러나 QRadioButton은 일반적으로 사용자에게 여러 개 중 하나를 선택하도록 할 때 사용됩니다. 그래서 한 위젯 안에 여러 라디오 버튼은 기본적으로 autoExclusive로 설정되어 있습니다. 하나의 버튼을 선택하면 나머지 버튼들은 선택이 해제된다. 한 번에 여러 버튼을 선택할 수 있도록 하려면 setAutoExclusive() 메서드에 False를 입력해야 한다. 또한 한 위젯 안에 여러 개의 exclusive 버튼 그룹을 배치하고 싶다면 QButtonGroup() 메서드를 사용할 수 있다.

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
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton
 
 
class MyApp(QWidget):
 
    def __init__(self):
        super().__init__()
        self.initUI()
 
 
    def initUI(self):
        #  라벨 문자열을 지정하여 라디오버튼 rbtn1을 생성
        rbtn1 = QRadioButton('First Button', self)
        #  버튼의 위치를 이동
        rbtn1.move(5050)
        #  버튼이 체크된 상태로 설정
        rbtn1.setChecked(True)
 
        #  라벨 문자열을 지정하지 않고 라디오버튼 rbtn2 생성
        rbtn2 = QRadioButton(self)
        #  버튼의 위치를 이동
        rbtn2.move(5070)
        #  setText()를 이용하여 라벨 문자열을 지정
        rbtn2.setText('Second Button')
 
        self.setGeometry(300300300200)
        self.setWindowTitle('QRadioButton')
        self.show()
 
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = MyApp()
    sys.exit(app.exec_())
 
cs

실행 화면

이 코드를 ui 파일을 만들어 실행하는 경우는 아래와 같이 ui 파일을 로드하는 것으로 끝난다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
 
form_class = uic.loadUiType('QRadioButton01.ui')[0]
 
class MyWindow(QWidget, form_class):
 
    def __init__(self):
 
        super().__init__()
        self.setupUi(self)
 
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = MyWindow()
    ex.show()
    sys.exit(app.exec_())
cs

ui 파일은 아래에 첨부하였다.

QRadioButton01.ui
1.0 kB


'Python > PyQt5' 카테고리의 다른 글

PyQt5: QLineEdit 사용하기 1  (0) 2019.11.21
PyQt5: QComboBox 사용하기  (0) 2019.11.20
PyQt5: QCheckBox 사용하기  (0) 2019.11.18
PyQt5: QLabel 사용하기  (0) 2019.11.17
PyQt5: QPushButton 사용법  (0) 2019.11.14
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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
글 보관함
05-19 01:37