본문 바로가기
프로그래밍 관련/PyQt

PyQt . Qcombobox

by 존버매니아.임베디드 개발자 2021. 11. 16.
반응형

위 그림과 같은 창을 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_()
반응형