一、设置背景颜色
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::NoFrame | 0 | 不绘制任何内容 |
QFrame::Box | 0x0001 | QFrame在其内容周围绘制一个框 |
QFrame::Panel | 0x0002 | QFrame绘制一个面板,使内容看起来凸起或凹陷 |
QFrame::StylePanel | 0x0006 | 绘制一个矩形面板,其外观取决于当前的GUI样式。它可以凸起,也可以凹陷。 |
QFrame::HLine | 0x0004 | QFrame绘制一条水平线,该水平线不包含任何内容(用作分隔符) |
QFrame::VLine | 0x0005 | QFrame绘制一条垂直线,该垂直线不包含任何内容(用作分隔符) |
QFrame::WinPanel | 0x0003 | 绘制一个矩形面板,可以像Windows 2000中的面板一样凸起或凹陷。指定此形状将线宽设置为2像素。WinPanel提供了兼容性。对于GUI样式独立,我们建议使用StyledPanel。 |
2、设置样式表
ui->labRgb->setStyleSheet("border-width: 1px;
border-style: solid;
border-color: rgb(255, 255, 255);");
}