样式不适用于 QItemDelegate
Posted
技术标签:
【中文标题】样式不适用于 QItemDelegate【英文标题】:style not working with QItemDelegate 【发布时间】:2012-05-01 06:27:12 【问题描述】:我有一个 QTreeview,我使用了这个样式表
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;
它工作正常。但是我用的是
self.treeView.setItemDelegate(GenericDelegate())
GenericDelegate 定义如下
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
我的风格不再适用了! 我做错了什么?
【问题讨论】:
【参考方案1】:我应该使用
QStyledItemDelegate
而不是
QItemDelegate
现在可以了!
【讨论】:
以上是关于样式不适用于 QItemDelegate的主要内容,如果未能解决你的问题,请参考以下文章