qss 对子控件的设置样式 使用setProperty

https://blog.csdn.net/liang19890820/article/details/51693956 学习了

代码:

当鼠标划过控件时,设置样式

void CustomLabelWidget::enterEvent(QEvent *)
{
textLabel->setProperty("labelState", "hover");  // 属性是自定义的

textLabel->style()->unpolish(iconLabel);
textLabel->style()->polish(textLabel);

textLabel->update();

setStyle(QApplication::style());  //这句必须加上,否则样式设置失败
}

void CustomLabelWidget::enterEvent(QEvent *)
{
textLabel->setProperty("labelState", "none");  // 属性是自定义的

textLabel->style()->polish(textLabel);

textLabel->update();

setStyle(QApplication::style());  //这句必须加上,否则样式设置失败


}

 

qss样式设置如下:

QLabel#objectname[labelState="hover"]{
image: url(:/Resouces/images/refresh.png);
}

/*鼠标划过按钮显示的文字样式*/
QLabel#objectname[labelState="hover"]{
color:rgb(0 ,255 , 252);
}

posted @ 2019-02-25 18:27  wjbooks  阅读(4907)  评论(0编辑  收藏  举报