qt如何將下拉框的框設定為圓角矩形

东岸發表於2024-05-22

在 Qt 中,可以使用樣式表(QSS)來設定下拉框的外觀,包括圓角矩形的樣式。以下是一個例子:

// 在 C++ 程式碼中設定樣式表
QComboBox {
    border-radius: 8px; /* 設定圓角半徑 */
    background-color: #FFFFFF; /* 設定背景顏色 */
    color: #333333; /* 設定文字顏色 */
    padding: 5px 10px; /* 設定內邊距 */
    border: 1px solid #CCCCCC; /* 設定邊框樣式 */
}

QComboBox::drop-down {
    border-width: 0; /* 去除下拉按鈕的邊框 */
    width: 20px; /* 設定下拉按鈕的寬度 */
    background-color: transparent; /* 設定下拉按鈕的背景顏色為透明 */
}

QComboBox::down-arrow {
    image: url(:/icons/arrow_down.png); /* 設定下拉按鈕的圖示 */
}

QComboBox QAbstractItemView {
    border-radius: 8px; /* 設定下拉選單的圓角半徑 */
    background-color: #FFFFFF; /* 設定下拉選單的背景顏色 */
    selection-background-color: #E6E6E6; /* 設定選中項的背景顏色 */
}

這個樣式表包含了以下幾個部分:

  1. QComboBox: 設定了下拉框的背景顏色、文字顏色、內邊距和邊框樣式,並且設定了圓角半徑為 8 畫素。
  2. QComboBox::drop-down: 去除了下拉按鈕的邊框,並設定了它的寬度和背景顏色。
  3. QComboBox::down-arrow: 設定了下拉按鈕的圖示。
  4. QComboBox QAbstractItemView: 設定了下拉選單的背景顏色、圓角半徑和選中項的背景顏色。

你可以根據需要調整這些樣式屬性,例如改變圓角半徑、顏色等,以達到你想要的效果。

要在 Qt 程式碼中使用這個樣式表,你可以使用以下方式:

// 在 C++ 程式碼中應用樣式表
QComboBox* comboBox = new QComboBox(this);
comboBox->setStyleSheet(styleSheet);

這樣就可以將圓角矩形樣式應用到下拉框上了。

相關文章