【发布时间】: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