style not working with QItemDelegate
pyqt4, qt, qtreeview, styles
Solution
I should use
QStyledItemDelegate
instead of
QItemDelegate
It works now!
Problem
I have a QTreeview and I used this stylesheet ``` QTreeView#treeView::item:selected:active { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6ea1f1, stop: 1 #567dbc); } QTreeView#treeView::item:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #e7effd, stop:1 #cbdaf1); border: 1px solid #bfcde4; } QTreeView#treeView::item:has-children { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #cccccc, stop:1 #aaaaaa); border: 1px solid #777777; border-left: 0; border-right: 0; font-weight: bold; } ``` It works fine. But wen I use ``` self.treeView.setItemDelegate(GenericDelegate()) ``` Where GenericDelegate is defined as bellow ``` class GenericDelegate(QItemDelegate): def _init_(self, parent=None): super(GenericDelegate, self)._init_(parent) def createEditor(self, parent, option, index): if index.row()==1: cb = QtGui.QComboBox(parent) cb.addItems('A') cb.addItems('B') return cb ``` My style doesn't work any more! I am doing something wrong?