如何根据QStyledItemDelegate中的qStylesheet进行绘制

How to paint according to qStylesheet in QStyledItemDelegate

本文关键字:绘制 qStylesheet 中的 何根 QStyledItemDelegate      更新时间:2023-10-16

我想将QStyledItemDelegate子类化,并用QStyleSheets对其进行修改。我不知道如何让它发挥作用。我花了很多时间来展示任何东西,看起来就像我在qs中定义的那样。原则上,它必须工作,因为当我调用paint(QPainter*, const QStyleOptionViewItem &, const QModelIndex&)的基类实现时,列表项看起来像是定义的。那么,现在我如何在委托中应用样式表呢?

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

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

还有许多其他drawXYZ(..)函数。请参阅Q样式文档。