QComboBox 下拉项边距
Posted
技术标签:
【中文标题】QComboBox 下拉项边距【英文标题】:QComboBox drop-down item margin 【发布时间】:2014-10-10 00:56:35 【问题描述】:我想为我的QComboBox
设置下拉项目的边距。这就是现在的样子:
我想要这样的东西:
我试过了
QComboBox QAbstractItemView::item
margin: 3px;
但它不起作用。
你能帮我解决这个问题吗?
【问题讨论】:
【参考方案1】:您想在项目之间设置一些空间。我尝试了不同的样式表,但我无法获得结果。但我找到了这个解决方案。也许有帮助。
ui->comboBox->setView(new QListView());
ui->comboBox->setStyleSheet("QComboBox QAbstractItemView::item min-height: 35px; min-width: 50px; QListView::item:selected color: black; background-color: lightgray");
结果非常相似
【讨论】:
这很奇怪,因为我没有得到你得到的东西。我刚刚创建了一个空项目,在里面拖了一个 QComboBox 并粘贴了您的代码,但它不起作用。这就是我所拥有的:test.pro(pastebin.com/fihj8944)、mainwindow.h(pastebin.com/qMiazMVd)、mainwindow.cpp(pastebin.com/FnHdteZU)、main.cpp(pastebin.com/fsDD1kFr) 和 mainwindow.ui(pastebin.com/NCjMsj43) .我做错了什么? @JacobKrieg ,我仔细看了你的代码,但我没有在你的代码中看到 ui->comboBox->setView(new QListView());在 setStyleSheet() 之前添加这一行。首先 ui->comboBox->setView(new QListView());之后 - setStyleSheet() (我希望你能理解我)。添加此行后,它应该可以工作。 但是我使用设计器添加了元素。这不应该工作吗? 在我的设计师中我也添加了它,但没有这条线它不起作用。只需添加此行,您就会看到它可以正常工作(我敢肯定,因为没有此行,我的应用程序不想添加此空间)此外,有了此行,当我在组合框中添加图标时它可以正常工作。我认为,这是一个解决方案,试试这个 你说得对,确实有效。非常感谢! :)【参考方案2】:ui->comboBox->setItemDelegate(new QStyledItemDelegate());
也可以
【讨论】:
以上是关于QComboBox 下拉项边距的主要内容,如果未能解决你的问题,请参考以下文章
Python Qt GUI设计:QComboBox下拉列表框类(基础篇—14)