QGroupbx 위젯을 사용하는 방법입니다.
import sys
from PyQt5.QtWidgets import *
필요한 모듈을 임포트 합니다.
class TestWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setupUI()
QMainWindow를 상속받아 TestWindow 클래스를 만들고 시작이 될 수 있도록 합니다.
def setupUI(self):
self.setWindowTitle("TestWindow")
groupBox = QGroupBox('항목 그룹',self)
groupBox.move(10,10)
groupBox.resize(150,80)
self.radio1 = QRadioButton('항목1',self)
self.radio1.move(20,20)
self.radio1.setChecked(True)
self.radio1.clicked.connect(self.radioButton_clicked)
self.radio2 = QRadioButton('항목2',self)
self.radio2.move(20,40)
self.radio2.clicked.connect(self.radioButton_clicked)
self.radio3 = QRadioButton('항목3',self)
self.radio3.move(20,60)
self.radio3.clicked.connect(self.radioButton_clicked)
setupUI 함수를 만들어서 윈도우 타이트를 세팅하고, 각 라디오 위젯 을 만듭니다.
각 라디오 위젯은 'rodioButton_clicked' 함수에 연결합니다.
def radioButton_clicked(self):
msg = ''
if self.radio1.isChecked():
msg='항목1'
elif self.radio2.isChecked():
msg='항목2'
else:
msg='항목3'
QMessageBox.about(self,'선택된 항목',msg+'선택됨')
라디오 위젯과 연결할 함수를 만듭니다. 선택이 되면 메세지 박스가 뜨게 합니다.
if __name__=='__main__':
app = QApplication(sys.argv)
window = TestWindow()
window.show()
app.exec_()
만들어진 윈도우가 보여질 수 있도록 합니다.
전체 코든는 아래와 같습니다.
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
|
import sys
from PyQt5.QtWidgets import *
class TestWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setupUI()
def setupUI(self):
self.setWindowTitle("TestWindow")
groupBox = QGroupBox('항목 그룹',self)
groupBox.move(10,10)
groupBox.resize(150,80)
self.radio1 = QRadioButton('항목1',self)
self.radio1.move(20,20)
self.radio1.setChecked(True)
self.radio1.clicked.connect(self.radioButton_clicked)
self.radio2 = QRadioButton('항목2',self)
self.radio2.move(20,40)
self.radio2.clicked.connect(self.radioButton_clicked)
self.radio3 = QRadioButton('항목3',self)
self.radio3.move(20,60)
self.radio3.clicked.connect(self.radioButton_clicked)
def radioButton_clicked(self):
msg = ''
if self.radio1.isChecked():
msg='항목1'
elif self.radio2.isChecked():
msg='항목2'
else:
msg='항목3'
QMessageBox.about(self,'선택된 항목',msg+'선택됨')
if __name__=='__main__':
app = QApplication(sys.argv)
window = TestWindow()
window.show()
app.exec_()
|
cs |
실행화면은 아래와 같습니다.
라디오 버튼을 누르면 아래와 같이 메세지박스가 뜹니다.
'파이썬(Python) > 파이썬 GUI(PyQt5 & tkinter)' 카테고리의 다른 글
PyQt5 - QTableWidget(테이블 위젯) 사용하기 (0) | 2020.12.13 |
---|---|
PyQt5 - Q CheckBox Widget(체크박스 위젯) (0) | 2020.12.12 |
PyQt5 - QSpinBox(스핀박스) (0) | 2020.12.10 |
PyQt5 - Radio Button(라디오 버튼) 만들기 (0) | 2020.12.07 |
PyQt5 - QLineEdit 사용하기 (0) | 2020.12.06 |
댓글