PyQt5 QSS

PyQt是基於Qt庫的Python框架,可以用來設計和創建GUI應用程序。Qt庫是一個跨平台的GUI框架,可以在Windows、Mac和Linux等操作系統上使用。QSS是一種樣式表語言,可以用來為PyQt5應用程序添加樣式和主題。

一、QSS的基本語法

QSS語法類似於CSS,但也有自己的特殊語法和功能。在QSS中,樣式定義基本格式為:

* { attribute: value; }

這裡的星號表示應用該樣式的所有控制項,attribute表示要設置的屬性,value則是該屬性的值。例如,要設置所有按鈕的背景顏色為藍色,可以這樣寫:

QPushButton {
    background-color: blue;
}

除了基本的屬性設置以外,QSS還支持以下特殊功能:

  • 偽狀態:可以根據控制項的不同狀態設置不同的樣式,例如滑鼠懸停、按下時的樣式。

  • 子控制項選擇器:可以選擇某個控制項的子控制項進行樣式設置,例如一個列表控制項的單個項。

  • 對象名稱選擇器:可以為控制項設置對象名稱,然後根據名稱選擇樣式。

  • 屬性選擇器:可以根據屬性值來選擇控制項進行樣式設置。

  • 樣式表繼承:可以讓一個控制項繼承另一個控制項的樣式表,這使得樣式表可以更加簡潔易讀。

二、使用QSS樣式表

為了使用QSS,需要先將樣式表應用到應用程序中。可以通過下面的代碼來實現:

app.setStyleSheet(qss_style)

其中,qss_style是一個字元串類型的變數,存儲著QSS樣式表的內容。可以將樣式表的內容存儲在一個單獨的.qss文件中,然後在應用程序中讀取這個文件。

三、QSS實例

下面將演示幾個使用QSS樣式表的實例。

1. 設置按鈕樣式

下面的代碼將為按鈕設置一個邊框、圓角和背景顏色:

QPushButton {
    border: 1px solid black;
    border-radius: 5px;
    background-color: #4CAF50;
    color: white;
    font-size: 16px;
    padding: 10px 20px;
}
QPushButton:hover {
    background-color: #3e8e41;
}
QPushButton:pressed {
    background-color: #2e6b36;
}

2. 設置文本輸入框樣式

下面的代碼將為文本輸入框設置一個邊框、圓角和背景顏色:

QLineEdit {
    border: 2px solid #ccc;
    border-radius: 10px;
    padding: 5px;
    background-color: #f7f7f7;
    font-size: 16px;
    color: #333;
}
QLineEdit:focus {
    border: 2px solid #3498db;
}

3. 設置列表控制項樣式

下面的代碼將為列表控制項設置一個邊框、圓角、背景顏色和滑鼠懸停樣式:

QListWidget {
    border: 2px solid #ccc;
    border-radius: 10px;
    padding: 5px;
    background-color: #f7f7f7;
    font-size: 16px;
    color: #333;
}
QListWidget:hover {
    background-color: #d1d1d1;
}
QListWidget::item {
    padding: 5px;
    border-bottom: 1px solid #ccc;
}
QListWidget::item:hover {
    background-color: #d1d1d1;
}
QListWidget::item:selected {
    background-color: #3498db;
    color: white;
}

四、總結

QSS可以為PyQt5應用程序增加樣式和主題,並且不需要改變應用程序的代碼。在使用QSS時,需要了解QSS的基本語法和特殊功能,並且根據不同的控制項選擇器和偽狀態設置不同的樣式。

原創文章,作者:ZYIC,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/149424.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ZYIC的頭像ZYIC
上一篇 2024-11-05 16:51
下一篇 2024-11-05 16:51

相關推薦

  • PyQt5 QSS詳解

    一、什麼是QSS Qt樣式表(QSS) 是一種針對 Qt 庫的另外一種語言,它允許用戶為 Qt 程序自定義其樣式。QSS 是由 CSS 2.1 規範實現的一種層級樣式表語言,Qt …

    編程 2025-02-24

發表回復

登錄後才能評論