九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
qss樣式表之QComboBox

先來個簡單的示例

QComboBox {
    font-family: "Microsoft YaHei";
    font-size: 14px;
    color: #000000;
    font-style: italic;
    font-weight: bold;
}

效果圖如下


其中:

font-family 為設置字體類型,標準形式需要加雙引號,不加也可能會生效,具體看系統(tǒng)是否支持,中英文都支持,但要保證字體編碼支持,一般程序編碼為"utf-8"時沒問題。

font-size 為設置字體大小,單位一般使用 px 像素

font-style 為設置字體斜體,italic 為斜體, normal 為不斜體

font-weight 為設置字體加粗,bold 為加粗, normal 為不加粗

color 為設置字體顏色,可以使用十六進制數(shù)表示顏色,也可以使用某些特殊的字體顏色:red, green, blue 等,或者使用 rgb(r,g,b) 和 rgba(r,g,b,a) 來設置,其中 r、g、b、a 值為0~255,如果想不顯示顏色可以設置值為透明 transparent

注意:字體顏色用的是 color 屬性,沒有 font-color 這個屬性的


對于字體樣式,可以把 family size style weight 統(tǒng)一設置在 font 屬性中:

font: bold italic 18px "Microsoft YaHei";

這里出現(xiàn)的順序要求是 style 和 weight 必須出現(xiàn)在開頭,size 和 family 在后面,而且 size 必須在 family 之前,否則樣式將不生效,font 中不能設置顏色,可以單獨設置 style weight 和 size,不能單獨設置 family


文字位置

padding-left: 10px;
padding-top: 8px;
padding-right: 7px;
padding-bottom: 9px;

padding-left 為設置按鈕(包括選擇框和文字)距離左邊邊界的距離

padding-top 為設置按鈕(包括選擇框和文字)距離頂邊邊界的距離

padding-right 為設置按鈕(包括選擇框和文字)距離右邊邊界的距離

padding-bottom 為設置按鈕(包括選擇框和文字)距離底邊邊界的距離

Tip: 在 qss 中,屬性 text-align 對 QComboBox 是不起作用的,一般 padding-left 相當于 x 坐標,padding-top 相當于 y 坐標,設置這兩個就可以精確地調節(jié)文字的顯示位置

下面我們調節(jié)字體左間距為 30px

QComboBox {
    font-family: "Microsoft YaHei";
    font-size: 14px;
    color: #000000;
    font-style: italic;
    font-weight: bold;

    padding-left: 30px;
}


可以看到我們設置的 padding-left 只對按鈕框文字起作用,對下拉列表不起作用,后面我們會單獨討論下拉框樣式


邊框樣式

border-style: solid;
border-width: 2px;
border-color: aqua;

border-style 為設置邊框樣式,solid 為實線, dashed 為虛線, dotted 為點線, none 為不顯示(如果不設置 border-style 的話,默認會設置為 none)

border-width 為設置邊框寬度,單位為 px 像素

border-color 為設置邊框顏色,可以使用十六進制數(shù)表示顏色,也可以使用某些特殊的字體顏色:red, green, blue 等,或者使用 rgb(r,g,b) 和 rgba(r,g,b,a) 來設置,其中 r、g、b、a 值為0~255,如果想不顯示顏色可以設置值為透明 transparent

示例如下

QComboBox {
    font-family: "Microsoft YaHei";
    font-size: 14px;
    color: #000000;
    font-style: italic;
    font-weight: bold;

    padding-left: 30px;

    border-width: 2px;
    border-style: solid;
    border-color: aqua;
}


我們也可以把 border 的 width style color 一起設置在 border 屬性中:

border: 2px solid aqua;

但必須注意的是,值的順序必須是按照 width style color 來寫,不然不會生效!如果不想顯示邊框可以直接設置 border 屬性值為 none

也可以單獨設置某一條邊框的樣式

border-top-style: solid;
border-top-width: 2px;
border-top-color: red;
border-top: 2px solid red;

border-right-style: solid;
border-right-width: 3px;
border-right-color: green;
border-right: 3px solid green;

border-bottom-style: solid;
border-bottom-width: 2px;
border-bottom-color: blue;
border-bottom: 2px solid blue;

border-left-style: solid;
border-left-width: 3px;
border-left-color: aqua;
border-left: 3px solid aqua;

border-top-style 為設置頂部邊框樣式

border-top-width 為設置頂部邊框寬度

border-top-color 為設置頂部邊框顏色

border-top 為設置頂部邊框 width style color 的屬性,原理和 border 一致

其它三個邊框:right bottom left 邊框的設置都相同


設置邊框半徑

border-top-left-radius: 20px;
border-top-right-radius: 20px;
border-bottom-left-radius: 20px;
border-bottom-right-radius: 20px;
border-radius: 20px;

border-top-left-radius 為設置左上角圓角半徑,單位 px 像素

border-top-right-radius 為設置右上角圓角半徑,單位 px 像素

border-bottom-left-radius 為設置左下角圓角半徑,單位 px 像素

border-bottom-right-radius 為設置右上角圓角半徑,單位 px 像素

border-radius 為設置所有邊框圓角半徑,單位為 px 像素,通過圓角半徑可以實現(xiàn)圓形的 QComboBox

下面我們來設置左上角和左下角半徑

QComboBox {
    font-family: "Microsoft YaHei";
    font-size: 14px;
    color: #000000;
    font-style: italic;
    font-weight: bold;

    padding-left: 30px;

    border-width: 2px;
    border-style: solid;
    border-color: aqua;
    
    border-top-left-radius: 13px;
    border-bottom-left-radius: 13px;
}


背景樣式

background-color: #2E3648;
background-image: url("./image.png");
background-repeat: no-repeat; 
background-position: left center;
background: url("./image.png") no-repeat left center #2E3648;

background-color 為設置背景顏色,可以使用十六進制數(shù)表示顏色,也可以使用某些特殊的字體顏色:red, green, blue 等,或者使用 rgb(r,g,b) 和 rgba(r,g,b,a) 來設置,其中 r、g、b、a 值為0~255,如果想不顯示顏色可以設置值為透明 transparent

background-image 為設置背景圖片,圖片路徑為 url(image-path)

background-repeat 為設置背景圖是否重復填充背景,如果背景圖片尺寸小于背景實際大小的話,默認會自動重復填充圖片,可以設置為 no-repeat 不重復,repeat-x 在x軸重復,repeat-y 在y軸重復

background-position 為設置背景圖片顯示位置,只支持 left right top bottom center;值 left right center 為設置水平位置,值 top bottom center 為設置垂直位置

比如我們給QComboBox左邊添加一個背景圖片

QComboBox {
    font-family: "Microsoft YaHei";
    font-size: 14px;
    color: #BDC8E2;
    font-style: italic;
    font-weight: bold;

    padding-left: 30px;

    border-width: 1px;
    border-style: solid;
    border-color: aqua;

    background-color: #2E3648;
    background-image: url("./image.png");
    background-repeat: no-repeat;
    background-position: left center;
}


對于 background,可以把 color image repeat position 一起設置在 background 屬性中:

background: url("./image.png") no-repeat left center #2E3648;

color image repeat position 這些屬性值出現(xiàn)的順序可以任意


接下來,我們對 QComboBox 進行動態(tài)樣式設置

可以設置鼠標懸浮時的樣式

QComboBox:hover {
    color: green;
    background-color: black;
}

當下拉列表顯示出來時的樣式

QComboBox:on {
    color: red;
    background-color: black;
}

當下拉框按鈕可編輯輸入文字時的樣式

QComboBox:editable {
    color: white;
    background-color: #2E3648;
}

想要可編輯樣式生效需要設置下拉框按鈕為可編輯,比如調用 setEditable() 方法,值得注意的是,一旦可編輯樣式生效,其它類似于 hover、on 所設置的樣式都會被覆蓋掉,除非再次設置為不可編輯


接下來我們討論下拉框按鈕右邊的下拉圖標

下拉圖標屬于下拉框按鈕的一個子控件 drop-down,而 drop-down 中又包含 down-arrow 子控件,我們用樣式表把這兩個控件顯示出來:


QComboBox {
    font-family: "Microsoft YaHei";
    font-size: 14px;
    color: #000000;
    font-style: normal;
    font-weight: bold;
}

QComboBox::drop-down {
    border: 1px solid red;
}

QComboBox::down-arrow {
    border: 1px solid green;
}

在樣式表中,我們設置 drop-down 邊框顏色為紅色,down-arrow 邊框為綠色,顯示效果如上圖。我們也可以自定義 drop-down 控件的大小和位置:

QComboBox {
    font-family: "Microsoft YaHei";
    font-size: 14px;
    color: #000000;
    font-style: normal;
    font-weight: bold;

    padding-left: 6px;
}

QComboBox::drop-down {
    width:28px;
    height:22px;
    border: 1px solid red;

    subcontrol-position: center top;
    subcontrol-origin: padding;
}

QComboBox::down-arrow {
    border: 1px solid green;
}

widthheight 設置 drop-down 的寬高

subcontrol-position 設置 drop-down 的位置,只支持 left right top bottom center;值 left right center 為設置水平位置,值 top bottom center 為設置垂直位置

subcontrol-origin 設置 drop-down 的對齊方式,一般設置為 padding

注意: 如果想要自定義的 width、height、subcontrol-position 生效,必須在 QComboBox 按鈕中設置 padding 的值,哪怕設置值為0,否則無法生效!

當然,我們也可以設置 drop-down 的圓角半徑 border-radius,屬性值和其它控件樣式的設置方式一樣:

border-top-left-radius: 6px;
border-top-right-radius: 6px;
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
border-radius: 6px;

同時,我們還可以往 drop-down 添加圖片,方式有兩種:

image: url("./arrow_down.png");
background-image: url("./arrow_down.png");

image 設置唯一的自動適應不重復的圖片,而 background-image 則需要手動調節(jié)它的 repeat, position 屬性值。這里,我們不推薦在 drop-down 中設置圖片,因為它有一個更好放圖片的控件 down-arrow


down-arrow
(由于最近比較忙,后續(xù)有空再補充完整?。?/font>

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服