QT5樣式表使用歸納總結
阿新 • • 發佈:2018-12-23
1、設定控制元件為圓角
border-radius: 10px; //10px表示圓角幅度,值越大角越圓。
2、設定顏色半透明,此處以設定背景顏色舉例,其他顏色設定也可參考。
background-color: rgba(89, 108, 94, 80%); //其中80%為透明度,也可用0~255表示,0為完全透明。
3、設定按鍵不同狀態的樣式:
QPushButton:enabled //設定按鍵使能時樣式 { //按鍵樣式 } QPushButton:disabled //設定按鍵未使能時樣式 { //按鍵樣式 } QPushButton:pressed //設定按鍵按下時樣式 { //按鍵樣式 } QPushButton:hover //設定滑鼠懸停在按鍵上時樣式 { //按鍵樣式 } QPushButton:focus //設定焦點在按鍵上時樣式 { //按鍵樣式 }
4、使設定控制元件的樣式對其子控制元件不生效。
#frame //使設定的樣式只對名為frame的控制元件生效
{
border-image: url(:/new/prefix1/pictures/天氣背景圖.png);
}
6、設定背景顏色background-color時,有時候會不生效,必須設定一下border邊框屬性才能生效,比如:
background-color: rgb(71, 212, 255);
border: 2px solid gray;
border-radius: 10px;
7、設定Widget背景圖片。
若Widget作為最外層父控制元件時,則不能通過UI設計師頁面右鍵設定樣式表來設定其背景圖片了,需要通過程式碼實現。
#include <QPalette> //新增標頭檔案
//在UI建構函式裡新增
QPalette palette;
QPixmap pic("./picture/bg.png");
palette.setBrush(QPalette::Background, QBrush(pic.scaled(this->size())));//scaled使背景圖適應視窗大小
this->setPalette(palette);
若要使背景圖隨著視窗大小變化而變化,重寫resizeEvent(QResizeEvent *event)函式即可。
8、通過程式碼設定樣式表。
幾乎所有控制元件都包含setStyleSheet這個介面,通過該介面可以設定控制元件的樣式,如下所示。
QString style_sheet_cmd = "border-image: url(:/new/prefix1/pictures/test.png";
ui->frame->setStyleSheet(style_sheet_cmd);
下面幾個是對QT樣式表歸納的比較詳細的部落格,供大家參考:
https://www.cnblogs.com/lsgxeva/p/7816938.html