Как рисовать согласно qStylesheet в QStyledItemDelegate

Я хочу подкласс QStyledItemDelegate и измените его с помощью QStyleSheets. Я понятия не имею, как заставить его работать. Я пытался много часов просто показывать что-то, как я определил в qss. В принципе это должно работать, потому что, когда я называю реализацию базового класса paint(QPainter*, const QStyleOptionViewItem &, const QModelIndex&) элементы списка выглядят как определенные. Хорошо, теперь, как я могу применить таблицу стилей в делегате?

2

Решение

Все должно быть сделано через QStyle. Например. в QListView нарисовать фон:

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

Есть много других функций drawXYZ (..). Увидеть QStyle docs.

1

Другие решения


По вопросам рекламы [email protected]