2014-02-24 5 views
2

setData을 사용하여 QListWidgetItem에 데이터를 추가하는 방법은 다음과 같습니다. 비슷한 방식으로 (숨기기) 데이터를 추가하고 QComboBox 항목에 추가하려면 어떻게해야합니까? 그리고 일단 데이터가 있으면 QComboBoxItems에서이 데이터를 검색 할 수 있습니까?PyQt/PySide에서 QComboBox에 데이터를 설정하는 방법은 무엇입니까?

item = QtGui.QListWidgetItem() 
item.setText(myText) 
item.setData(QtCore.Qt.UserRole, myData) 

self.myListWidget.addItem(item)      

답변

6

당신은 데이터를 검색 할 항목과 QComboBox.itemData (self, int index, int role = Qt.UserRole)을 추가 QComboBox.addItem (self, QString text, QVariant userData = QVariant())를 사용할 수 있습니다

import PyQt4.QtGui as gui, PyQt4.QtCore as core 

app = gui.QApplication([]) 

cb = gui.QComboBox() 

cb.addItem('int 1',1) 
cb.addItem('int 2',2) 
cb.addItem('int 3',3) 
cb.addItem('int 4',4) 

print cb.itemData(0).toInt()[0] 

core.pyqtSlot('int') 
def f(index): 
    data,can_convert = cb.itemData(index).toInt() 
    if can_convert: 
     print 'integer:',data 

cb.currentIndexChanged.connect(f) 

cb.show() 

app.exec_() 
+0

완벽한을, 감사를! – fredrik

관련 문제