[Solved] Style not working with QItemDelegate



  • I have a QTreeview and I used this stylesheet

    @ QTreeView::item:selected:active
    {
    background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6ea1f1, stop: 1 #567dbc);
    }
    QTreeView::item:hover
    {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #e7effd, stop:1 #cbdaf1);
    border: 1px solid #bfcde4;
    }
    QTreeView::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?



  • Try inheriting from QStyledItemDelegate.



  • Thanks.
    It works


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.