2016-05-11 10 views
0

PySideのQComboBox()にクリック可能なアイテムを追加するにはどうすればよいでしょうか?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ではあまり進んでいません。

ありがとうございました。

答えて

0

もちろん、currentIndexChangedはこのトリックを行いました。

関連する問題