问题
在QT的Form中,QComboBox控件的样式设计和下拉列表的文本居中是个难解决的问题。本以为与其他控件的样式设计类似,但实际情况不然。即便你在css中设计了QComboBox控件的样式,有可能在程序运行的时候,它是不起作用的。经过一番摸索,笔者终于实现了。
解决办法
1、先要在css中设计好样式表,包括未下拉时的显示状态、未下拉时鼠标移入的状态、下拉后各项的状态、下拉后鼠标移入后的状态、下拉箭头样式等,格式如下所示。但这样设计以后,部门效果不一定能显示出来。
/* 未下拉时,QComboBox的样式 */
QComboBox{
border: 1px solid #f3f3f3;
color: #4C5056;
background-color: transparent;
font:20px;
padding: 1px 2px 1px 2px;
}
/* 未下拉时,鼠标移入,QComboBox的样式 */
QComboBox::hover {
color:rgba(0, 185, 179);
border-color:rgba(0, 185, 179);
background: rgba(239, 250, 250);
}
/* 右侧下拉按钮的样式 */
QComboBox::drop-down{
subcontrol-origin: padding;