PyQt组合框,提取用户选择

时间:2017-04-25 15:40:36

标签: python pyqt pyqt5

我试图从qcombobox访问当前项目。

我使用列表中的动态项创建了一个组合框。

self.combo = QtGui.QComboBox()
for itm in self.ctpc:
    itms = str(itm)
    # [1:-2] removes '<' and '>' from beginning and end
    self.combo.addItem(itms[1:-1], userData=unicode(itm))

    print itm
    print ("cut_items_ordered: ", itm.cut_items_ordered)
    print ("Version: {} \n".format(itm.version))

self.ctpc include。

[<Cut Sequence 1>, <Cut simpans>, <Cut 20_sec>, <Cut test>]´

并且关注用户选择的内容。我想从相关剪辑中获取'cut_items_ordered'。 但我不确定按下按钮时如何链接数据。

cut_items_order例如来自包含大量剪辑的列表:

[<CutItem A012C012_161202_R0FS>, <CutItem A019C007_161203_R0FS>, <CutItem A009C003_161202_R0FS>])

按下“确定”时:

for i in range(self.combo.count()): 
        itmData = self.combo.itemData(i)

    comboIndex = self.combo.currentIndex()

    if comboIndex == itmData:
        print self.combo.currentText()

编辑:

新代码看起来像,

    for itm in self.ctpc:
        self.itms = str(itm)
        # [1:-2] removes '<' and '>' from beginning and end
        self.combo.insertItem(0, self.itms[1:-1])
        self.combo.setItemData(0, unicode(itm))
        self.combo.setItemData(0, unicode(itm.cut_items_ordered))
        self.combo.setItemData(0, unicode(itm.version))

稍后按下按钮(它连接到func btn_accepted)

def btn_accepted(self)
    for i in range(self.combo.count()):
        self.itmData = self.combo.itemData(self.combo.currentIndex())               
    print self.itmData

在这里,我希望能够通过它自己访问itm.cut_items_orderd中的所有数据,并通过它自己进行版本访问。

0 个答案:

没有答案