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

时间:2014-10-28 21:46:15

标签: c++ qt listview qt5 qstyleditemdelegate

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

1 个答案:

答案 0 :(得分:1)

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

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

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