title: How do I set item delegates for multiple columns in a model that is processed by a proxy model?
body: <p>I set my item delegates like so: </p>
  
  <pre><code>COMBOBOX_ITEMS_FRUITS = ['Apple', 'Banana']
  COMBOBOX_ITEMS_COLORS = ['Red', 'Green', 'Blue']
  
  self.treeview.setItemDelegateForColumn(COLUMN_A, ComboBoxDelegate(COMBOBOX_ITEMS_FRUITS))
  self.treeview.setItemDelegateForColumn(COLUMN_B, ComboBoxDelegate(COMBOBOX_ITEMS_COLORS))
  </code></pre>
  
  <p>After the model is set as the source model for the proxy model, my app crashes but no errors were thrown:</p>
  
  <pre><code>self.model_source = treeview_model
  self.sf_proxy_model.setSourceModel(self.model_source)
  </code></pre>
  
  <p>It seems that I can only use one <code>setItemDelegateForColumn</code> when a sortfilterproxymodel is used to process the source model.</p>
  
  <p><code>ComboBoxDelegate</code> is defined as follows:</p>
  
  <pre><code>class ComboBoxDelegate(QStyledItemDelegate):
      def __init__(self, items):
          super(ComboBoxDelegate, self).__init__()
  
          self.items = items
  
      def createEditor(self, parent, option, index):
          editor = QComboBox(parent)
          editor.setAutoFillBackground(True)
  
          for item in self.items:
              editor.addItem(item)
  
          return editor
  
      def setEditorData(self, editor, index):
          current_index = editor.findText(index.model().data(index), Qt.MatchExactly)
          editor.setCurrentIndex(current_index)
  
      def setModelData(self, editor, model, index):
          item_index = model.mapToSource(index)
          item = model.sourceModel().item(item_index.row(), 0)
  
          if index.parent().row() == -1 and item.hasChildren():
              for row in range(item.rowCount()):
                  child = item.child(row, 3)
                  child.setText(editor.currentText())
  
          model.setData(index, editor.currentText())
  
      def updateEditorGeometry(self, editor, option, index):
          editor.setGeometry(option.rect)
  </code></pre>