Qt样式表是一个可以自定义部件外观的强大机制,样式表的概念、术语、语法均受到HTML的层叠样式表(Cascading Style Sheets,CSS)的启发。
样式表可通过QApplication::setStyleSheet()函数将其设置到整个应用程序上,也可以使用QWidget::setStyleSheet()将其设置到指定的部件或子部件上,不同级别均可设置样式表,称为样式表的层叠。样式表也可通过设计模式编辑样式表。
这一步名字随便起,然后下一步直接完成就可以。
打开QT项目的文件中,在项目中新建一个**.qss文件,然后再QT开发工具中Resources右键,选择【添加现有文件】,选择刚才新建的**.qss。最终结构为下图:
style.qrc下的/为资源前缀,可以认为是目录,也可以认为是命名空间。
QMainWindow 就是部件的类名,这样设置所有这样的部件都生效
QMainWindow{
background-color:#fff;
}
#connectTest 是设置的部件具体的名称,只有这个名字的部件才生效
QPushButton#connectTest{
background-color:#5eb95e;
border-radius:3px;
color:white;
font-size:14px;
}
:hover 就是css鼠标放上后的效果
QPushButton#connectTest:hover{
background-color:#4da84d;
}
除了选择器与CSS不一样外,样式的写法与关键字是一样的,会前端CSS这个就不是问题。
首先就是把QFile引入进来,在mainwindow.h中
#include
在mainwindow.cpp中的构造函数中添加一下代码
QFile *styleFile;
styleFile = new QFile(":/style.qss", this); //获取资源文件的对象
styleFile->open(QFile::ReadOnly);//只读模式
QString styleSheet = QString(styleFile->readAll());//读出的数据转成字符串
qApp->setStyleSheet(styleSheet);//qApp 程序的唯一全局指针 设置样式
styleFile->close();//最后关闭这个文件
截取的程序的一部分