有没有办法可以增加QComboBox控件中列出的项目的高度?
我尝试按照此处in QTDevNet forums的建议进行操作,但没有运气
QComboBox QAbstractItemView::item {margin-top: 3px;}
我也试过这个,仍然没有结果。
QComboBox QAbstractItemView::item {min-height: 20px;}
是否有可能在样式表层面实现这一目标?
答案 0 :(得分:29)
你的样式表似乎是正确的,所以我试了一下。似乎问题类似于this one on Qt centre:
QCompleter在其模型上设置自定义QAbstractItemDelegate,遗憾的是,此自定义项委托不继承QStyledItemDelegate,而只是继承QItemDelegate(然后覆盖paintmethod以显示所选状态)。
如果您使用QStyledItemDelegate替换默认委托,则样式表应该有效:
QStyledItemDelegate* itemDelegate = new QStyledItemDelegate();
combo->setItemDelegate(itemDelegate);
答案 1 :(得分:1)
替代solution将是:
ui->comboBox->model()->setData(ui->comboBox->model()->index(-row-, 0), QSize(-width-, -height-), Qt::SizeHintRole);
,其中-row-
是从零开始的项目索引; -width-
和-height-
分别代表项目宽度提示和高度提示。
答案 2 :(得分:0)
QComboBox::item
为我工作
因此,例如,我试图在项目被禁用时更改项目的颜色,以下代码可以解决问题。
这个不起作用:
QComboBox QAbstractItemView::item:!enabled {
color:red;
}
相反,我使用了:
QComboBox::item:!enabled {
color:red;
}