from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QComboBox
import sys
class 옵션선택창(QWidget):
def __init__(self):
super().__init__()
self.UI초기화()
def UI초기화(self):
self.label = QLabel('옵션을 선택해주세요.', self)
self.label.move(20, 80)
self.label.setFixedSize(300,20)
self.cbox = QComboBox(self)
self.cbox.addItem('Option 1')
self.cbox.addItem('Option 2')
self.cbox.addItem('Option 3')
self.cbox.addItem('Option 4')
self.cbox.move(40,40)
self.cbox.activated[str].connect(self.clicked)
self.setWindowTitle('QComboBox')
self.setGeometry(300, 300, 300, 100)
self.show()
def clicked(self):
index = str(self.cbox.currentIndex())
text = str(self.cbox.currentText())
self.label.setText("아이템의 " + index + "번째에 있는 "+ text + "를 선택했습니다.")
self.adjustSize()
프로그램무한반복 = QApplication(sys.argv)
실행인스턴스 = 옵션선택창()
프로그램무한반복.exec_()
ComboBox에 요소 추가시 addItem 매서드를 사용합니다. 안에 들어가는 값은 문자열만 가능합니다.
self.cbox = QComboBox(self)
self.cbox.addItem('Option 1')
self.cbox.addItem('Option 2')
self.cbox.addItem('Option 3')
self.cbox.addItem('Option 4')
cbox(박스)의 속성이 눌렸을 때(activated[str]) 정의된 함수(clicked)가 실행되어 이벤트 처리를 하게 됩니다. clicked는 우리가 정의할 함수입니다.
self.cbox.activated[str].connect(self.clicked)
cbox와 연결된 함수 clicked를 구현합니다.
def clicked(self):
index = str(self.cbox.currentIndex())
text = str(self.cbox.currentText())
self.label.setText("아이템의 " + index + "번째에 있는 " + text + "를 선택했습니다.")
self.adjustSize()
프로그램 실행 시
옵션 선택시
옵션 선택시 창 크기가 커진것을 볼 수 있으며 해당 이벤트를 처리하여 라벨에 보여줍니다. 주의할 점은 index가 0부터 시작한다는 것입니다.