【问题标题】:pyside add clickable item to QComboBoxpyside 将可点击项目添加到 QComboBox
【发布时间】:2016-05-11 08:35:39
【问题描述】:

我想知道在 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

现在我希望“新变体..”条目有一个点击事件。 我是否必须使用自定义委托覆盖整个 QComboBox 类,或者是否有某种方法可以将条目添加为 QComboBox 小部件并使其 clicked.connect?

抱歉,这是一个基本问题。我在 PySide 方面还不是很先进。

谢谢。

【问题讨论】:

    标签: python events pyside qcombobox


    【解决方案1】:

    当然 currentIndexChanged 成功了。

    【讨论】:

      猜你喜欢
      • 2012-01-15
      • 2021-04-12
      • 2020-04-10
      • 2015-06-15
      • 2014-05-12
      • 2019-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多