QT QCombox 样式表 比起作用
对QCombox在ui编辑器中进行美化,发现外表美化有效果,但下拉框的高度美化的没效果,查看样式表也没有没问题,样式表中内容如下。
QComboBox#curve_comboBox {
min-width: 150px;
min-height:40;
max-width: 150px;
max-height:40;
border:1px solid gray ; /*设置边框*/
border-radius: 3px ; /*设置圆角*/
padding : 1px 2px 1px 2px ; /*针对于组合框中的文本内容*/
font: 18px ;
}
/*下面设置针对下拉框下拉标识(箭头)*/
QComboBox::drop-down {
subcontrol-origin: padding; /*针对标识图标的位置设置*/
subcontrol- position : top right ;
width : 20px ;
border-left-width : 1px ; /*针对标识图标四周属性*/
border-left-color : darkgray;
border-left-style : solid ; /* just a single line */
border-top-right-radius: 3px ; /* same radius as the QComboBox */
border-bottom-right-radius: 3px ;
}
/*下面设置针对下拉框下拉标识图片设置*/
QComboBox::down-arrow {
width: 15px;
image: url(:/res/image/arrow-drop.png);
}
/* 下拉后,整个下拉窗体每项的样式 */
QComboBox QAbstractItemView::item {
min-height: 40px;
max-height: 40px;
}
/******** combobox 滚动条 *********/
QScrollBar:vertical {
border: 0px solid grey;
width: 40px;
}
/*滑块样式*/
QScrollBar::handle:vertical
{
background:rgba(205,232,255);
}
解决办法: 在cpp构造函数处:添加setview就可以了。
//样式表中QCombox不起作用的,要设置如下
ui->curv_comboBox->setView(new QListView());