有没有办法可以增加 QComboBox 控件中列出的项目的高度?
我尝试按照QTDevNet 论坛中的建议进行操作,但没有运气
QComboBox QAbstractItemView::item {margin-top: 3px;}
我也试过这个,仍然没有结果。
QComboBox QAbstractItemView::item {min-height: 20px;}
是否有可能在样式表级别实现这一点?
有没有办法可以增加 QComboBox 控件中列出的项目的高度?
我尝试按照QTDevNet 论坛中的建议进行操作,但没有运气
QComboBox QAbstractItemView::item {margin-top: 3px;}
我也试过这个,仍然没有结果。
QComboBox QAbstractItemView::item {min-height: 20px;}
是否有可能在样式表级别实现这一点?
你的样式表似乎是正确的,所以我试了一下。似乎问题与Qt center 上的问题类似:
QCompleter
在其模型上设置自定义QAbstractItemDelegate
,不幸的是,此自定义项委托不会继承QStyledItemDelegate
,而只是简单地继承QItemDelegate
(然后覆盖该paint
方法以显示选定状态)。
如果您用 a 替换默认委托QStyledItemDelegate
,您的样式表应该可以工作:
QStyledItemDelegate* itemDelegate = new QStyledItemDelegate();
combo->setItemDelegate(itemDelegate);
重要提示:如果您更改模型,那么这将重置视图的委托,因此需要在任何调用setModel()
.
另一种解决方案是:
ui->comboBox->model()->setData(ui->comboBox->model()->index(-row-, 0), QSize(-width-, -height-), Qt::SizeHintRole);
,其中-row-
是从零开始的项目索引;-width-
和-height-
分别代表项目宽度提示和高度提示。
QComboBox::item
为我工作
例如,当它被禁用时,我试图改变它的颜色,下面的代码就可以了。
这个没用:
QComboBox QAbstractItemView::item:!enabled {
color:red;
}
相反,我使用了:
QComboBox::item:!enabled {
color:red;
}