QComboBox颜色下拉美化

本文介绍了如何使用样式表美化QComboBox控件,包括设置边框、字体和下拉箭头,以及实现控件初始化时动态加载颜色选项的方法。

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

简单美化QComboBox,效果如图:
在这里插入图片描述
样式:

ColorComboBox::ColorComboBox(QWidget *parent):QComboBox(parent)
{
    setStyleSheet("QComboBox { border:2px solid gray; \
                                border-radius:5px 5px 5px 5px; \
                                text-align: right;font-size: 14px;font-weight: bold;font-size:16px; } \
        QComboBox::drop-down  {width:50px;background: transparent;} \
        QComboBox::down-arrow {image: url(:/images/icons/down_arrow.png);}");

}

控件初始化:

void ColorComboBox::updateCtrls()
{
    this->clear();

    //根据缩放比例获取宽高
    int w = qRound(width()*widthScale);
    int h = qRound(height()*heightScale);

    QPixmap pix(w,h);
    setIconSize(QSize(pix.width(),pix.height()));

    QStringList clrNames = QColor::colorNames();
    foreach(auto clr,clrNames){
        pix.fill(clr);
        addItem(QIcon(pix),clr);
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值