Как установить стиль для ребенка на основе селектора пользовательских свойств? - PullRequest
0 голосов
/ 11 марта 2020

Следующее работает как ожидалось:

QMiniTreeViewItem {
background-color: transparent;
border: none;
}

QMiniTreeViewItem[selected="true"] {
background-color: #3ba6f4;
}

Но затем я хочу применить некоторый стиль ко всем QWidget дочерним элементам моего QMiniTreeViewItem, когда selected равно true на последнем:

QMiniTreeViewItem[selected="true"] > QWidget {
color: white;
font-weight: bold;
}

Это не работает, хотя.

Я реализовал событие рисования на QMiniTreeViewItem:

void QMiniTreeViewItem::paintEvent(QPaintEvent* event)
{
    QStyleOption opt;
    opt.init(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);

    QWidget::paintEvent(event);
}
...