pyside将可单击的项目添加到QComboBox

2024-10-01 13:29:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道在PySide中向QComboBox()添加可单击项的最佳方法是什么?你知道吗

到目前为止,这里是我的组合框函数。你知道吗

def setTreeWidgetsComboBox(self, index, items, currVariation, node=None):
    mainComboBoxWidget = QtGui.QWidget()
    mainComboBoxLayout = QtGui.QVBoxLayout()
    self.decayComboBox = QtGui.QComboBox()


    mainComboBoxLayout.addWidget(self.decayComboBox)
    mainComboBoxLayout.setContentsMargins(0,0,0,0)
    mainComboBoxWidget.setLayout(mainComboBoxLayout)
    if len(items) != 1:     
        for x in items:
            try:
                i = x.split('_')[1]
            except:
                i = x
                continue

            self.decayComboBox.addItem(i)
    else:
        self.decayComboBox.addItem(items[0])



    i = self.decayComboBox.findText(currVariation, QtCore.Qt.MatchFixedString)
    if i >= 0:
        self.decayComboBox.setCurrentIndex(i)

    self.decayComboBox.addItem('new variation..')


    self.decayComboBox.setFixedHeight(20)
    self.nmcTableWidget.setIndexWidget(index, mainComboBoxWidget)

    return self.decayComboBox



    i = self.decayComboBox.findText(currVariation, QtCore.Qt.MatchFixedString)
    if i >= 0:
        self.decayComboBox.setCurrentIndex(i)

    self.decayComboBox.addItem('new variation..')


    self.decayComboBox.setFixedHeight(20)
    self.nmcTableWidget.setIndexWidget(index, mainComboBoxWidget)

    return self.decayComboBox

现在我希望“new variance..”条目有一个click事件。 我是否必须用一个自定义委托覆盖整个QComboBox类,或者是否有某种方法将条目添加为QComboBox小部件并使其生效单击。连接?你知道吗

抱歉,如果这是一个基本问题。我在PySide还不是很先进。你知道吗

谢谢你。你知道吗


Tags: 方法selfnewindexifitemspysideqtgui