Day05(Qt样式表)

Qt样式表示是一个可以自定义部件外观的十分强大的机制

使用代码设置样式表
ui->pushButton->setStyleSheet("background:yellow"); ui->horizontalSlider->setStyleSheet("background:blue");
对所有的相同部件使用相同的样式表
setStyleSheet("QPushButton{background:yellow}QSlider{background:blue}");
在设计模式中设置样式表
界面右击,在弹出的菜单样式中选择“改变样式表”。在编辑样式对话框输入代码:
QPushButton{},然后单击上面“添加颜色”。如果为单一部件添加样式表,需选中该部件后右击“改变样式表”。

Qt样式表语法

样式规则

一个样式规则由一个选择符和声明组成

QPushButton{color:red}QPushButton是选择符,{color:red}是声明,color是属性,red是值。
一些选择符可以指定相同的声明,例如:
QPushButton,QLineEdit,QComBox{color:red}
属性之间使用分号隔开,例如:
QPushButton{color:red;background-color:white}

在Qt Style Sheets Reference 关键字对应对文档中,List of Properties一项查看Qt样式表所支持的属性

选择符类型
* 匹配所有部件
QPushButton 匹配QPushButton实例和他的所有子类
QPushButton[flat = "false"] 匹配QPushButton的属性flat为false的实例
.QPushButton 匹配所有QPushButton实例,但不包含他的子类
QPushButton#okButton 匹配QPushButton中以okButton为对象名的实例

自定义部件外观与换肤

    QMainWindow{
        background - image: url(:/image/beijing01.png);//背景图片
    }
    /*鼠标悬停在按钮上*/
    QPushButton:hover{
        background-color:rgba(100,255,100,100);        
    }

换肤
QFile file(":/qss/my.qss");
file.open(QFile::ReadOnly);
QString styleSheet = tr(file.readAll());
qApp->setStyleSheet(styleSheet);

你可能感兴趣的:(Day05(Qt样式表))