Qt 设置QLabel 背景颜色和边框

一、设置背景颜色

1、利用QColorDialog对话框选择颜色

QColor color=QColorDialog::getColor(Qt::white,this,"选择颜色");

        参数一:初始颜色

        参数二:父窗口对象

        参数三:对话框标题

可通过QColor::isValid()判断选择是否有效。

2、设置调色板

QPalette labPalette;
labPalette.setColor(QPalette::Window,color);
ui->labRgb->setPalette(labPalette);

QPalette Qt5->Qt6 枚举值变化 

        QPalette::Background → QPalette::Window

        QPalette::Foreground → QPalette::WindowText

Qt6中背景颜色使用Window。

3、应用组件调色板

ui->labRgb->setAutoFillBackground(true);

无论部件的背景是否自动填充,此属性都有效。如果启用此属性,Qt 将在调用绘制事件之前填充部件的背景。所使用的颜色由部件调色板中的 QPalette::Window 颜色角色定义。此外,除非设置了 WA_OpaquePaintEvent 或 WA_NoSystemBackground 属性,否则窗口始终使用QPalette::Window 进行填充。如果部件的父部件具有静态渐变背景,则此属性无法关闭(即无法设置为 false)。

  ui->labRgb->setPalette(labPalette);//为组件设置调色板

  二、QLab设置边框颜色

        1、边框

ui->labRgb->setFrameShape (QFrame::Box);

        Shape边框枚举值

枚举内容
QFrame::NoFrame0不绘制任何内容
QFrame::Box0x0001    QFrame在其内容周围绘制一个框
QFrame::Panel0x0002QFrame绘制一个面板,使内容看起来凸起或凹陷
QFrame::StylePanel0x0006绘制一个矩形面板,其外观取决于当前的GUI样式。它可以凸起,也可以凹陷。
QFrame::HLine0x0004QFrame绘制一条水平线,该水平线不包含任何内容(用作分隔符)
QFrame::VLine0x0005QFrame绘制一条垂直线,该垂直线不包含任何内容(用作分隔符)
QFrame::WinPanel0x0003绘制一个矩形面板,可以像Windows 2000中的面板一样凸起或凹陷。指定此形状将线宽设置为2像素。WinPanel提供了兼容性。对于GUI样式独立,我们建议使用StyledPanel。

2、设置样式表

ui->labRgb->setStyleSheet("border-width: 1px;
                           border-style: solid;
                           border-color: rgb(255, 255, 255);");
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值