프로그래밍 관련/PyQt
PyQt . Qcombobox
존버매니아.임베디드 개발자
2021. 11. 16. 13:50
반응형
위 그림과 같은 창을 ComboBox라고 부른다.
아래 예시코드.
아래 예시에 있는거 외에도 여러가지 메소드가 있는데 궁금하면 직접 찾아보자.
import sys
from PyQt5.QtWidgets import *
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Test")
self.setGeometry(1000, 200, 700, 300)
self.combo = QComboBox(self)
self.combo.addItem("Text1")
self.combo.addItem("Text2")
self.combo.addItem("Text3")
# 콤보박스에 선택된 인데스 달라지면 실행되는 function
self.combo.currentIndexChanged.connect(self.combo_fun_changed)
self.btn = QPushButton("첫번째 아이템 삭제",self)
self.btn.setGeometry(100,0,200,30)
self.btn.clicked.connect(self.btn_fun)
self.btn1 = QPushButton("Button2",self)
self.btn1.setGeometry(100,30,200,30)
self.btn1.clicked.connect(self.btn_fun1)
# 콤보박스에 선택된 인데스 달라지면 실행되는 function
def combo_fun_changed(self,index):
print("index change,selected index : %d" %index)
def btn_fun(self):
self.combo.removeItem(0)
def btn_fun1(self):
#현재 선택된 인덱스 출력
print(str(self.combo.currentIndex()))
#현재 선택된 박스의 텍스트 출력
print(self.combo.currentText())
if __name__ == "__main__":
app = QApplication(sys.argv)
myWindow = MyWindow()
myWindow.show()
app.exec_()
반응형