QComboBox设置下拉列表中子项的样式

本文探讨了在Qt Designer中如何使用QComboBox并定制其样式和行为,包括改变下拉菜单的宽度和高度,以及设置边框和选中项背景等样式属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Qt Designer里使用了一个QComboBox:

[cpp]  view plain  copy
  1. ui->comboBox_2->setView(new QListView);  
  2. ui->comboBox_2->view()->setMinimumWidth(200);//这样设置是可以改变弹出项的宽度(使其大于QComboBox框),但是同样的方式设置高度就不行,高度可以在样式表里设置,不明白。。。  

官方文档给出的设置,有些无法生效,例如:

QComboBox QAbstractItemView {
    border: 2px solid darkgray;
    selection-background-color: lightgray;
}

上述对于选中项的设置就无法生效(如果去掉ui->comboBox_2->setView(new QListView)这一行是可以生效的),改成这样就可以了:

[cpp]  view plain  copy
  1. QComboBox QAbstractItemView    
  2. {    
  3.      border: 1px solid rgb(161,161,161);    
  4. }    
  5.     
  6. QComboBox QAbstractItemView::item    
  7. {    
  8.     height: 60px;  //这里设置高度是可以,但是设置宽度却不行。。。。  
  9. }    
  10.     
  11. QComboBox QAbstractItemView::item:selected    
  12. {       
  13.     background-color: rgba(54, 98, 180);    
  14. }   

附上整个的样式表设置:

[cpp]  view plain  copy
  1. ui->comboBox_2->setStyleSheet("QComboBox{border:0px solid gray;background: rgb(46,98,118);font:22px;color:#eec46d;height: 50px;}"  
  2.                             "QComboBox:editable{background:black;}"  
  3.                             "QComboBox QAbstractItemView{border: 0px;outline:0px;selection-background-color: red;height:100px;background: rgb(1,58,80);font:22px;color:white;}"  
  4.                             "QComboBox QAbstractItemView::item{height:50px;width:200px;}"  
  5.                             "QComboBox QAbstractItemView::item:selected{background-color: red;}"  
  6.                             "QComboBox::down-arrow{image:url(:/icon_home_trangle.png);}"  
  7.                             "QComboBox::drop-down{border:0px;}"  
  8.                             );  
谁知道怎么可以任意移动下拉框的位置?请告诉我,谢谢!!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值