PyQt5 - Q Groupbox Widget(그룹박스 위젯)
본문 바로가기
파이썬(Python)/파이썬 GUI(PyQt5 & tkinter)

PyQt5 - Q Groupbox Widget(그룹박스 위젯)

by Squat Lee 2020. 12. 11.

 

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

 

실행화면은 아래와 같습니다.

라디오 버튼을 누르면 아래와 같이 메세지박스가 뜹니다.

728x90
반응형

댓글