Как изменить фон родительского виджета, когда дочерний виджет имеет фокус?

Я хотел бы выделить QFrame, если один из них 'У дочерних виджетов есть фокус (поэтому пользователи знают, где искать курсор ;-)

используя что-то вместе

ui->frame->setFocusPolicy(Qt::StrongFocus);
ui->frame->setStyleSheet("QFrame:focus {background-color: #FFFFCC;}");

выделяет QFrame, когда я щелкаю по нему, но он теряет фокус, когда выбирается один из его дочерних виджетов.

Возможные подходы:

Я мог быconnect() QApplication::focusChanged(old,now) и проверять каждый новый объект, если он является дочерним элементом моего QFrame, но это становится грязным.

Я также мог бы создать подкласс каждого дочернего виджета и переопределить /focusInEvent()focusOutEvent() и реагировать на это, но с большим количеством различных виджетов, это также много работы.

Есть ли более элегантное решение?

Ответы на вопрос(3)

Ваш ответ на вопрос