적은 공간에서 여러 옵션을 선택할 수 있게 해주는 위젯입니다. (QComboBox 공식 문서) 참고
19-1 예제: ex18
| import sys from PyQt5.QtWidgets import (QApplication, QWidget, QLabel, QComboBox) class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.lbl = QLabel('Option1', self) self.lbl.move(50, 150) cb = QComboBox(self) cb.addItem('Option1') cb.addItem('Option2') cb.addItem('Option3') cb.addItem('Option4') cb.move(50, 50) cb.activated[str].connect(self.onActivated) self.setWindowTitle('QComboBox') self.setGeometry(300, 300, 300, 200) self.show() def onActivated(self, text): self.lbl.setText(text) self.lbl.adjustSize() if __name__ == '__main__': app = QApplication(sys.argv) ex = MyApp() sys.exit(app.exec_()) |
19-2 설명
| cb = QComboBox(self) cb.addItem('Option1') cb.addItem('Option2') cb.addItem('Option3') cb.addItem('Option4') cb.move(50, 50) |
QComboBox 위젯을 하나 만들고, addItem() 메서드를 이용해서 선택 가능한 4개의 옵션을 추가합니다.
| cb.activated[str].connect(self.onActivated) |
activated 시그널에 onActivated 슬롯을 연결합니다.
| def onActivated(self, text): self.lbl.setText(text) self.lbl.adjustSize() |
선택한 항목의 텍스트가 라벨에 나타나도록 하고 , adjustSize() 메서드를 이용해서 라벨의 크기를 자동으로 조절하도록 합니다.
19-3 결과

'프로그래밍 > PyQt5 GUI' 카테고리의 다른 글
| 21. QProgressBar (0) | 2021.07.26 |
|---|---|
| 20. QLineEdit (0) | 2021.07.23 |
| 18. QRadioButton (0) | 2021.07.23 |
| 17. QCheckBox (0) | 2021.07.23 |
| 16. QLabel (0) | 2021.07.23 |