1. 程式人生 > >QT5樣式表使用歸納總結

QT5樣式表使用歸納總結

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

https://www.cnblogs.com/lifan3a/articles/8441175.html

https://blog.csdn.net/qq_31073871/article/details/79943093