QComboBox设置下拉后每项的样式不生效原因
样式设置
QComboBox QAbstractItemView::item {
height: 25px;
border: 0px solid #999999;
padding-left:8px;
}
QComboBox QAbstractItemView::item:hover,QComboBox QAbstractItemView::item:selected {
outline: none;
color: #FFFFFF;
background-color: rgb(0, 85, 0);
border-radius:4px;
}
运行效果
运行后:这段样式并没有生效
需要为此comboBox控件设置一个新的数据模型类,例如:QListView列表视图类
comboBox->setView(new QListView());
运行后:样式生效
原因分析
QComboBox下拉控件默认使用的数据模型是QStandardItemModel,setView(new QListView())可以将comboBox的数据模型设置为QListView列表视图,从而使其能以列表形式显示下拉选项,这样可以对下拉选项进行各种样式设置。