Qt中的控件qss设计目前学习有两种方法:在程序中书写qss代码或直接在ui中生成代码
先来看一下在程序中的设计
先创建一个按键样式表
QString button_style = "QPushButton{background-color:rgb(85,170,255);\
color:white;border-radius:10px;border:2px groove gray;\
border-style:outset;}"
"QPushButton:hover{background-color:white;color:black}"
"QPushButton:pressd{background-color:blue;\
border-style:inset;}"; //按键样式表
其中,hover为鼠标经过时的属性,pressed为鼠标按下时的属性。
再将相关的按键添加样式属性。
ui->btnAdd->setStyleSheet(button_style);
效果如下,相关特性可以依据这个属性模板进行修改哦
另一种是ui中的直接添加,简单快捷
对于父控件需要添加样式控件限定,否则该样式对其所有子控件都会生效
如在样式表里填入以下代码
QPushButton{
background-color: rgb(255, 85, 0);
border-radius: 5px;
}
QPushButton::hover{
background-color: rgb(0, 170, 255);
}
QPushButton::pressed{
background-color: rgb(255, 0, 0);
}
得到以下效果
默认样式: 鼠标停留样式: 鼠标按下样式:
在索引下入style sheet可以查看具体控件可使用的样式表
提供了很多控件的样式例子。
了解盒子模型有助于对样式表的设计