Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set color of child QLabels while hover parent QFrame with QSS?

I'm trying to set the hover state color of 2 labels inside a QFrame with a stylesheet, but the frame takes the hover states regardless if there is an actual hover:

See screenshot: enter image description here

I've got a QFrame with QLabels. I set the default colors to green and purple. While i hover the QFrame, the color of both labels should go red.

The exact same CSS does work with html, but i can't seem to get it to work with the QT stylesheets.

div{background-color:black; width:200px; height:100px;}

#label1{color: green;}
#label2{color: purple;}

div:hover #label1 {color: red;}
div:hover #label2 {color:red;}
like image 296
DennisW Avatar asked Nov 02 '22 04:11

DennisW


1 Answers

Tested with Qt5.9 and your code still does not work. I have the same behaviour as you.

But, with this simple QSS code I get the label's text to be blue, and red when hovered.

QLabel {color:blue}
QFrame:hover {color:red}

This does not work when using the object-name, probably because of the conflict resolution of QSS.

#label {color:blue}
QFrame:hover {color:red}
like image 126
ymoreau Avatar answered Nov 15 '22 05:11

ymoreau