반응형
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QComboBox, QLabel, QVBoxLayout
from PyQt5.QtCore import Qt
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 라벨 생성
self.l = QLabel('Option1', self)
# 콤보 박스 생성
self.cb = QComboBox(self)
# 콤보 아이템 추가
self.cb.addItem('Option1')
self.cb.addItem('Option2')
self.cb.addItem('Option3')
self.cb.addItem('Option4')
# 콤보박스 이벤트 추가
self.cb.currentIndexChanged.connect(self.comboBoxFunction)
vbox = QVBoxLayout()
vbox.addStretch(3)
vbox.addWidget(self.l)
vbox.addWidget(self.cb)
vbox.addStretch(1)
self.setLayout(vbox)
self.setWindowTitle('QComboBox')
self.setGeometry(0, 0, 300, 200)
self.show()
def comboBoxFunction(self) :
# 콤보박스에서 선택한 항목을 label로 표출
self.l.setText(self.cb.currentText())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())
PySide 공식 문서 : https://doc.qt.io/qtforpython/PySide6/QtWidgets/QComboBox.html?highlight=qcombobox
PyQT5 공식문서 : https://doc.qt.io/qt-5/qcombobox.html
반응형