QtCreator中QSS風格設置方法

QSS可以用於改變ui控件風格,如可以設置文本框的背景,邊框顏色,設置按鍵按下,懸空,彈起的顏色和背景圖等,在程序中使用QSS可以達到美化界面的效果。
常用的QSS設置方法有四種,以更改按鍵風格爲例說明,如在ui中設置四個按鍵,設置對象名稱爲pushButton_1、pushButton_2、pushButton_3和 pushButton_4,通過改變四個按鍵的風格來說明QSS的調用方法。

方法一、在forms中的.ui文件中設置
打開ui文件,選擇需要設置QSS的控件,右擊選擇“改變樣式表”
在這裏插入圖片描述
輸入如下設置內容

QPushButton {
border:2px solid cyan;
border-radius:10px;
background-color: #1f8f91;
color:#ffd175;
}

QPushButton:pressed {
border: 2px solid cyan;
border-radius:10px;
background-color: rgba(101, 218, 37, 220);
}

QPushButton:disabled {
border:2px solid #cddcff;
border-radius:10px;
background-color: #aaaa7f;
}

該部分主要設置了按鍵字體顏色,背景和邊框屬性,按下和禁用時的屬性等,效果如上圖。

方法二、通過函數調用設置
由控件調用setStyleSheet來實現,在ui類中增加成員函數SetButtonStyle(),內部示例代碼

void SetButtonStyle()
{
    QString styleInfo =
tr("QPushButton {\
border:2px solid cyan;\
border-radius:10px;\
background-color: #1f8f91;\
color:#ffd175;}\
\
QPushButton:pressed {\
border: 2px solid cyan;\
border-radius:10px;\
background-color: rgba(101, 218, 37, 220);}\
\
QPushButton:disabled {\
border:2px solid #cddcff;\
border-radius:10px;\
background-color: #aaaa7f;}");
    ui->pushButton_2->setStyleSheet(styleInfo);
}

在構造函數中調用SetButtonStyle()即可改變按鍵風格。
說明: 方法一和方法二對於控件較少的程序還是比較適用的,方便調整代碼,但是一旦控件較多,涉及改動的地方較多的話就不適用了。

方法三、通過調用單獨的QSS文件來實現
新建一個txt文件,寫入QSS設置代碼如下:

QPushButton {
border:2px solid cyan;
border-radius:10px;
background-color: #1f8f91;
color:#ffd175;}

QPushButton:pressed {
border: 2px solid cyan;
border-radius:10px;
background-color: rgba(101, 218, 37, 220);}

QPushButton:disabled {
border:2px solid #cddcff;
border-radius:10px;
background-color: #aaaa7f;}

保存並修改後綴名爲.qss文件;
代碼中加載qss文件,增加類成員函數SetButtonStyle1()如下:

void Widget::SetButtonStyle1()
{
    QFile qssFile("D:\\ProjectTest\\QtProject\\qss_test\\button.qss");
    qssFile.open(QFile::ReadOnly);
    if (qssFile.isOpen()) {
        QString qssStyle = QLatin1String(qssFile.readAll());
        ui->pushButton_3->setStyleSheet(qssStyle);
    }
}

在類中調用該函數就可以修改按鍵風格
說明: 該方法對於大型程序比較適用,可以不用修改代碼就可以更換控件風格,做好qss文件的歸類管理,程序發佈以後,更改對應的qss文件就可以調整控件風格了。

方法四、將qss文件加載到資源中來調用
1、添加qss資源文件的方法如下
點擊工程,選擇“add new”,依次選擇“Qt”“Qt Resource File”,然後點擊右下角close按鍵
在這裏插入圖片描述
在新彈出的窗口中輸入資源名稱和文件路徑,點擊下一步選擇完成即可
在這裏插入圖片描述
項目一欄裏會顯示增加的resources資源信息,\resource\qss\qss_button.qrc,其中\resource\qss\是路徑信息,qss_button.qrc是資源信息,在qss文件夾內,打開文件可以看到是你添加的qss文件信息。
在這裏插入圖片描述
點擊添加按鍵,依次點擊添加前綴和添加文件,我這裏將前綴設置爲button4,在添加文件時將qss文件夾中的button.qss文件(將方法三中的qss文件拷貝進去)添加進去即可,這時在qss文件夾內的qss_button.qrc文件會包含增加的qss文件信息。
在這裏插入圖片描述
說明: 添加resources文件時可以通過設置不同的目錄和.qrc名稱來分類,然後在不同的.qrc下通過前綴再進行細分,便於管理。
2、在程序中調用qss資源文件
在程序中增加調用qss資源的成員函數SetButtonStyle2()

void Widget::SetButtonStyle2()
{
    QFile qssFile(":/button4/button.qss");
    qssFile.open(QFile::ReadOnly);
    if (qssFile.isOpen()) {
        QString qssStyle = QLatin1String(qssFile.readAll());
        ui->pushButton_4->setStyleSheet(qssStyle);
    }
}

在ui類中調用該函數即可修改按鍵風格。
Qss文件的路徑查看方法:選擇button.qss,右擊可以看到path信息,如下圖
在這裏插入圖片描述
說明: 方法四同樣便於qss文件的管理和調整控件風格,但是資源文件會編譯到執行程序中,也就是說要修改控件風格時,需要重新編譯生成執行程序,可以不用修改代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章