一、在Qt Designer中直接添加樣式
- 單個顯示控件:對需要修改樣式的顯示控件,右鍵單擊選中“改變樣式表...”選項,在彈出的編輯樣式表窗口中,添加對應的樣式表內(nèi)容。
- 整體顯示控件:在Qt Designer的對象查看器子窗口中,選擇需要修改的局部或整體的對象,右鍵單擊選中“改變樣式表...”選項,在彈出的編輯樣式表窗口中,添加對應的樣式表內(nèi)容。
二、在代碼中添加樣式
針對整體或局部顯示控件,使用對應的控件對象(整體的控件對象為this指針)調(diào)用setStyleSheet("[樣式表內(nèi)容]")函數(shù)來實現(xiàn)控件的樣式的設置。
ui->pushButton->setStyleSheet("QPushButton{background-color: rgb(225, 225, 225);border:2px groove gray;border-radius:50px;padding:2px 4px;border-style: outset;}"
"QPushButton:hover{background-color:rgb(229, 241, 251); color: black;}"
"QPushButton:pressed{background-color:rgb(204, 228, 247);border-style: inset;}");
qBtn->setStyleSheet("QPushButton{color:#FFFFFF;background-color: #1D9DFF;border:2px solid #1d9DFF;}"
"QPushButton:hover{color: #FF6666;background-color: #8EC8FD;border-radius:4px;}"
"QPushButton:pressed{color: #FFFFFF;background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #3BA0FE, stop:1 #1D9DFF);}");
三 通過讀取樣式文件來試著樣式
- 首先將需要設置的樣式表內(nèi)容寫入對應的.qss或.css文件中,其樣式表內(nèi)容的書寫格式與css一致。
/*所有QPushButton都有效*/
QPushButton
{
border: 2px solid rgb(190,190,190);
background-color: rgb(255,38,0);
color:rgb(0,0,0);
}
/*鼠標在QPushButton懸停時生效*/
QPushButton:hover{
border: 2px solid rgb(60,142,99);
border-radius: 6px;
color:#Faab10
}
/*ObjectName為btn_Start、btn_Stop的QPushButton有效*/
/*是ObjectName 不是屬性名,可以使用setObjectName函數(shù)設置*/
QPushButton#btn_Start{
border: 2px solid #33FFFF;
border-radius: 6px;
color:#FF0000;
background-color:#FF99CC;
}
- 將樣式表文件作為資源加入到項目中
- 打開樣式表文件,讀取文件內(nèi)容,并將這些內(nèi)容存儲為Qt的QString類型,然后按照方法2的方式調(diào)用。其中,打開和讀取樣式表文件,并將樣式表內(nèi)容存儲為QString類型對象的代碼如下所示:
QString loadStyleSheet(const QString &sheetName)
{
QString styleSheet;
QFile file(sheetName);
file.open(QFile::ReadOnly);
if (file.isOpen())
{
styleSheet = QLatin1String(file.readAll());
}
return styleSheet;
}
static void setStyle(const QString &cssname)
{
QFile file(cssname);
file.open(QIODevice::ReadOnly);
QString css = QLatin1String(file.readAll());
qApp->setStyleSheet(css);
file.close();
}
https://blog.csdn.net/weixin_42887343/article/details/123205555
https://blog.csdn.net/chan_qx/article/details/105764850
https://blog.csdn.net/Snow__Sunny/article/details/119205422
https://www.cnblogs.com/ruandahua/p/16020483.html
http://www.lxweimin.com/p/4bf2526cc90d