Como alterar o plano de fundo de um widget pai quando um widget filho tem foco?

Eu gostaria de destacar um QFrame, se um dos seus widgets filhos tiver foco (para que os usuários saibam onde procurar pelo cursor ;-)

usando algo junto

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

destaca o QFrame quando clico nele, mas perde o foco quando um de seus widgets filhos é selecionado.

Abordagens possíveis:

eu poderiaconnect() QApplication::focusChanged(old,now) e verifique cada novo objeto se for um filho do meu QFrame, mas isso fica confuso.

Eu poderia também subclasse cada widget filho e reimplementarfocusInEvent()/focusOutEvent() e reagir a isso, mas com muitos widgets diferentes, isso também é muito trabalho.

Existe uma solução mais elegante?

questionAnswers(3)

yourAnswerToTheQuestion