2

我想QStyledItemDelegate用 QStyleSheets 子类化和修改它。我不知道如何让它工作。我尝试了很多小时来显示任何东西,看起来就像我在 qss 中定义的那样。原则上它必须工作,因为当我调用paint(QPainter*, const QStyleOptionViewItem &, const QModelIndex&)列表项的基类实现时,它看起来像已定义。好吧,现在我如何在委托中应用样式表?

4

1 回答 1

2

一切都必须通过 QStyle 完成。例如在 QListView 中绘制背景:

QStyle *style = option.widget->style();
style->drawPrimitive(QStyle::PE_PanelItemViewItem, &option, painter, option.widget);

还有很多其他的 drawXYZ(..) 函数。请参阅QStyle 文档

于 2014-11-03T17:32:09.313 回答