Я хочу создать подкласс QStyledItemDelegate
и изменить его с помощью QStyleSheets. Я понятия не имею, как заставить его работать. Я пробовал много часов, чтобы просто отобразить что-нибудь, выглядя так, как я определил в qss. В принципе, это должно работать, потому что когда я вызываю реализацию базового класса paint(QPainter*, const QStyleOptionViewItem &, const QModelIndex&)
, элементы списка выглядят как определенные. Итак, как мне теперь применить таблицу стилей в делегате?
Как рисовать в соответствии с qStylesheet в QStyledItemDelegate
Ответы (1)
Все должно быть сделано через QStyle. Например. в QListView для рисования фона:
QStyle *style = option.widget->style();
style->drawPrimitive(QStyle::PE_PanelItemViewItem, &option, painter, option.widget);
Есть много других функций drawXYZ(..). См. документацию QStyle.
person
ManuelSchneid3r
schedule
03.11.2014