QtQCombobox设置下拉箭头样式

参考:Qt样式表(QComboBox下拉框)(https://www.136.la/shida/show-383176.html)

/*下拉箭头样式*/
QComboBox::down-arrow{
	image:url(":/res/arrow_down_normal.png");
	width:20px;
}
QComboBox::down-arrow:hover{
	image:url(":/res/arrow_down_pressed.png");
	width:20px;
}
QComboBox::down-arrow:on{
	image:url(":/res/arrow_up_normal.png");
	width:20px;
}
QComboBox::down-arrow:hover{
	image:url(":/res/arrow_up_pressed.png");
	width:20px;
}
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 可以通过设置QComboBox样式表来隐藏下拉箭头。具体方法如下: 1. 打开Qt Designer,选中需要隐藏下拉箭头QComboBox控件。 2. 在属性编辑器中找到“styleSheet”属性,点击右侧的编辑按钮。 3. 在弹出的样式表编辑器中,输入以下代码: QComboBox::drop-down { width: px; } 4. 点击“确定”保存样式表,然后重新运行程序即可看到QComboBox下拉箭头已经被隐藏了。 注意:这种方法只是隐藏了下拉箭头,但是QComboBox仍然可以正常使用。如果需要完全禁用QComboBox的下拉功能,可以通过设置setEnabled(false)来实现。 ### 回答2: Qt中的QComboBox下拉框控件默认显示一个下拉箭头,但是有时候我们想要隐藏这个箭头,此时可以通过设置QComboBox样式表来实现。 首先,在QComboBox对象的样式表中,使用“QComboBox::drop-down”选择器来选择下拉箭头,然后将其visibility属性设置为hidden,即可隐藏下拉箭头。 下面是一个简单的示例代码: ```cpp QComboBox *comboBox = new QComboBox(this); comboBox->setStyleSheet("QComboBox::drop-down{width: 0px;}"); ``` 上面的代码将下拉箭头的宽度设置为0,从而实现了隐藏下拉箭头的效果。如果需要将箭头换成其它的图标,也可以通过设置background-image属性来实现。 需要注意的是,样式表对QComboBox下拉框内部的QAbstractItemView(即选项列表)也生效,因此需要将“QComboBox::drop-down”选择器限制在QComboBox对象内部,避免影响到选项列表。可以使用“QComboBox#comboBoxName::drop-down”选择器来实现。 ```cpp QComboBox#comboBoxName::drop-down{width: 0px;} ``` 最后需要提醒的是,样式表虽然提供了很大的灵活性,但是对性能会有一定的影响,并且使用不当也可能导致一些副作用。因此,在使用样式表时,需要谨慎考虑是否真的需要使用,并且合理使用样式表。 ### 回答3: Qt提供了各种控件供我们使用,其中一个非常常用的控件就是QComboBox。但是有些时候,我们希望隐藏QComboBox中的下拉箭头,这样就可以自定义下拉按钮,让这个控件更加与自身风格相符。 我们可以通过一些简单的代码来实现这个目的。在设置QComboBox样式之前,我们应该首先确定我们要隐藏哪个箭头。通常情况下,我们希望隐藏下拉箭头,所以我们可以将其ID设置QComboBox::down-arrow。 接下来,我们就可以使用QSS(Qt Style Sheet)来设置QComboBox样式。具体的实现方法如下: ``` QComboBox QAbstractItemView { border: 1px solid gray; selection-background-color: lightgray; } QComboBox::drop-down { border-width: 0px; subcontrol-origin: padding; subcontrol-position: top right; width: 15px; height: 15px; } QComboBox::down-arrow { image: none; } ``` 以上QSS代码中,第一个块是设置下拉列表选项框的样式,第二个块是设置下拉按钮的样式,第三个块就是隐藏了下拉箭头。 具体地讲,我们将下拉列表选项框的边框设置为1px的灰色实线,选择项的背景颜色设置为浅灰色。对于QComboBox的下拉按钮,我们将其边框宽度设置为0,将其相对于QComboBox的边框以及左侧内边距(padding)的位置设置为右上角,将下拉按钮的宽度和高度设置为15px。最后,通过将QComboBox::down-arrow的背景图像属性设置为none,来隐藏下拉箭头。 当然,在实现时,我们可以根据自己的需要,更改上述代码中的属性值,以样式来满足自己的要求。 总之,通过这种方法,我们就可以很轻松地隐藏QComboBox下拉箭头,而不影响该控件的其他样式和功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奇树谦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值