为了使代码更具阅读性,最近将setstysheet()的内容抽离出来,存成一个qss文件。现将一些注意点记录下来。
1)qss文件内容分条:
QDialog{
background-image:url(:/login/images/sparrow-login/bk.png);
}
QLabel{
font:75 14pt Microsoft YaHei;
color:#00ff00;
}
QLabel#labelProductIcon{
width:107px;
height:107px;
}
QPushButton{
font:75 14pt Microsoft YaHei;
color:#f00000;
}
QPushButton#btnClose{
background-image:url(:/login/images/sparrow-login/close.png);
background-repeat:no-repeat;
background-position:center;
}
2)qss文件应用
QString SparrowLogin::getQssContent(QString path)
{
QFile qssFile(path);
QString qssContent;
if (qssFile.open(QIODevice::ReadOnly))
{
qssContent = qssFile.readAll();
qssFile.close();
}
return qssContent;
}
setStyleSheet(getQssContent(":/file/qss/login.qss"));
3)ID选择器,针对特定对象应用qss
源文件设置:labelProductIcon->setObjectName("labelProductIcon");
qss文件设置:
QLabel#labelProductIcon{
width:107px;
height:107px;
}
针对多个特定对象应用qss
QPushButton#btnClose::pressed,#btnMinimum::pressed{
/* 改变背景色 */
background-color:rgb(40,85,20);
/* 改变边框风格 */
border-style:inset;
/* 使文字有一点移动 */
padding-left:3px;
padding-top:3px;
}