轉(zhuǎn)自 https://blog.csdn.net/zh15237774494/article/details/88855289
樣式表(注意票摇,這里的樣式表,只是為了實(shí)現(xiàn)我的灰色風(fēng)格,和滾動(dòng)條沒有關(guān)系投储,如果對這個(gè)不感興趣的晒屎,可以跳過這個(gè)代碼片)
/*************** QComboBox ******************/
QComboBox{
border-left:1pxsolidrgb(195,195,195);
border-right:1pxsolidrgb(195,195,195);
background:rgb(50,50,50);
color:white;
selection-background-color:rgb(80,52,158);
combobox-popup:0;
}
QComboBox:editable{
color:white;
font:20px;
}
QComboBox:enabled{
border:1pxsolidrgba(195,195,195,0);
selection-background-color:rgb(80,52,158);
}
QComboBoxQAbstractItemView{/*下拉框的顯示框效果*/
border:1pxsolidrgb(195,195,195);
border:2px;
}
QComboBox::item:hover{
background-color:rgb(195,195,195);
}
QComboBox::drop-down{
subcontrol-origin: padding;
subcontrol-position: center right;
width:15px;
height:15px;
padding:5px;
border-radius:3px;
border-right-color:rgb(195,195,195);
background-color:qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1,
stop:0rgba(255,255,255,155), stop:0.3rgba(160,160,164,155),
stop:0.7rgba(160,160,164,155), stop:1rgba(255,255,255,155));
}
QComboBox::down-arrow{
image:url(":/image/spectrum/downArrow.png");
width:15px;
height:15px;
border-radius:5px;
}
QComboBox::down-arrow:hover{
border-image:url(":/image/spectrum/downArrow.png");
width:15px;
height:15px;
border-radius:5px;
}
QComboBox::down-arrow:on{
top:0px;
left:0px;
}
/************** QComboBox 定制 ****************/
QComboBoxQAbstractItemView
{
padding:5px;
background:rgb(51,51,51);
}
QComboBoxQAbstractItemView::item
{
margin:1px0;
padding:5px;
font-size:15px;
background:rgb(60,60,60);
color:#fff;
font-family:"Microsoft YaHei";
}
QComboBoxQAbstractItemView::item:hover
{
background-color:qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1,
stop:0rgba(127,127,127,255), stop:0.3rgba(106,106,106,255),
stop:0.7rgba(82,82,82,255), stop:1rgba(82,82,82,255));
border-radius:2px;
}
QComboBoxQAbstractItemView::item:selected
{
background-color:qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1,
stop:0rgba(127,127,127,255), stop:0.3rgba(106,106,106,255),
stop:0.7rgba(82,82,82,255), stop:1rgba(82,82,82,255));
border-radius:2px;
}
到了這一步之后淫半,應(yīng)該會(huì)得到一個(gè)類似這樣的下拉框逆济,不要急榛斯,一步一步來
image
再加入這樣一段代碼:
// 設(shè)置滾動(dòng)條的重點(diǎn)在這
ui->com_clock->view()->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
然后再運(yùn)行一次(確保選擇項(xiàng)大于10蔓钟,或者修改QCombobox的 maxVisibleItems = x x為整數(shù))
這次應(yīng)該就有滾動(dòng)條了永票,效果是這樣的(我設(shè)置了maxVisibleItems = 5)
image
OK,滾動(dòng)條有是有了滥沫,但有點(diǎn)難看侣集,繼續(xù)用QSS美化
加上滾動(dòng)條美化QSS
/******** combobox 滾動(dòng)條 *********/
QComboBoxQScrollBar::vertical{/*主體部分*/
width:10px;
background:rgb(89,89,89);
border:none;
border-radius:5px;
}
QComboBoxQScrollBar::handle::vertical{/*滑塊主體*/
border-radius:5px;
width:10px;
background:rgb(173,173,173);
}
QComboBoxQScrollBar::handle::vertical::hover{
background:rgb(232,232,232);
}
QComboBoxQScrollBar::add-line::vertical{/*上箭頭*/
border:none;
}
QComboBoxQScrollBar::sub-line::vertical{/*下箭頭*/
border:none;
}
結(jié)果和最初的截圖一致了
image
參考博客:https://blog.csdn.net/Zzhouzhou237/article/details/73613278