一、针对按钮不多的界面可以通过以下的功能进行修改
二、如果是大批的按钮与控件这个时候就需要我们通过其他的方式来加载样式,这个时候就需要css
1、制作css样式,首先是选择新建一个文本文件,然后就是直接将你设置的样式
QWidget#widget_Top{ //针对widget。并且名字是widget_Top
background: qlineargradient(spread:padding-bottom, x1:0, y1:0, x2:0, y2:1, stop:0 #184CA5, stop:1 #39AAD8);
}
QLabel#label_hour,QLabel#label_min{//只针对label,并且名字是label_hour和label_min
border:2px;
border-radius:4px;
padding:2px 4px;
color:rgb(251,253,252);
font-size:50px;
background: qlineargradient(spread:padding-bottom, x1:0, y1:0, x2:0, y2:1, stop:0 #3F4F61, stop:1 #6887A8);
}
QToolButton#tbnSetting{ //只针对按钮QToolButton,并且名字是tbnSetting
border:0px;
}
QToolButton#tbnSetting:hover{
background-color: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(25, 134, 199, 0), stop:1 #5CACEE);
}
QPushButton //这种就是直接应对界面上的所有的pushbutton都是有效的,所有的pushbutton都会发生改变
{
border: 2px solid rgb(190,190,190);
background-color: rgb(255,255,255);
color:rgb(0,0,0);
}
QPushButton:hover{
border: 2px solid rgb(60,142,99);
border-radius: 6px;
}
写完之后,保存后缀名为css
2、开始像添加图片功能一样开始添加css,就是直接添加资源的形式
在main函数里面进行添加样式的调用
#include "mainwindow.h"
#include <QApplication>
#include <QFile>
//设置样式
static void setStyle(const QString &styleName)
{
QFile file(QString("%1").arg(styleName));
file.open(QFile::ReadOnly);
QString css = QLatin1String(file.readAll());
qApp->setStyleSheet(css);
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
setStyle(":/image/sheet.css");
MainWindow w;
w.show();
return a.exec();
}
现在界面是这样的:
加上样式之后,界面如下:
这边加上了悬停的效果,进入的时候按钮会变成绿色,如果大家需要通过源码学习,可以参考: https://download.csdn.net/download/littlehero_121/11944830