QComboBox下拉框选项高度调整
使用QComboBox时,发现下拉列表的高度无法调整,查看帮助文档后找到2种方法。
如下,为原始的效果,item间的间隔太小:
1.使用新的modle
最简单的办法就是重新设置一下item的代理,然后我我们在通过样式表来改变新的item的高度。
代码和效果图如下:
QString str = "QComboBox QAbstractItemView:item\
\n{\
font-family: PingFangSC-Regular;\n\
font-size:12px;\n\
min-height:30px;\n\
min-width:20px;\n\
}\n";
QStyledItemDelegate* styledItemDelegate = new QStyledItemDelegate();
ui->fontComboBox->setItemDelegate(styledItemDelegate);
ui->fontComboBox->setStyleSheet(str);
2.使用新的view
新定义一个QListView,使用setView重新设置item的显示方式,并使用样式表调整item的高度,效果如下:
QString str = "QComboBox QAbstractItemView:item\
\n{\
font-family: PingFangSC-Regular;\n\
font-size:12px;\n\
min-height:30px;\n\
min-width:20px;\n\
}\n";
QListView* listView = new QListView();
ui->comboBox->setView(listView);
ui->comboBox->setStyleSheet(str);