我想定制QComboBox。我希望看到的行为是一个组合框,它是按钮(朝下箭头),当组合框被折叠时占据整个区域。我知道QComboBox是一个带有QListWidget (或其他小部件)的QPushButton。我想改变QPushButton以占据整个地区。我还想去掉显示当前选择的区域。任何提示都将不胜感激!
我想要的是:

我能够通过QComboBox::view()->setMinimumWidth()控制下拉列表的宽度。这样,我可以有一个更窄的组合框,但一个更广泛的下拉列表。那部分已经完成了。现在我需要有一个按钮在那里。
发布于 2018-06-29 20:58:51
设置QComboBox按钮(实际上是向下箭头)可以由样式完成,使用down-arrow样式,但是,由于需要选择的内容不可见,因此需要处理其他设置、组合框的宽度和drop-down可能与您的图像、示例样式完全匹配才能实现这一点:
QComboBox::down-arrow {
image: url(arrow.png); /* Set combobox button */
}
QComboBox::drop-down {
width: 20px; /* set the width of the drop down */
}
QComboBox {
border: 0px;
max-width: 20px; /* width of whole box */
}发布于 2018-06-29 21:00:54
好吧,所以通过样式表是很有可能的。我所做的是:
QComboBox::setStyleSheet(
QComboBox::down-arrow {
image: url(:/images/add_support_combo_box.png);
left: -50px;
top: -10px;
width: 500px;
height : 200px;}");如果你看到“左”和“顶”有负值。这迫使向下箭头的图像向左和向上移动。
https://stackoverflow.com/questions/51106539
复制相似问题