方法有两种,一种是使用调色板,一种是使用样式表。
方法一:调色板
QPalette palette ;
// 设置黑底绿字
palette .setColor(QPalette::Background, Qt::black);
palette .setColor(QPalette::WindowText, Qt::green);
// 这句不能少,否则没效果
ui->label->setAutoFillBackground(true);
ui->label->setPalette(palette );
或者下面这样写也行
QPalette palette = ui->label->palette();
palette.setColor(ui->label->backgroundRole(), Qt::black);
palette.setColor(ui->label->foregroundRole(), Qt::green);
ui->label->setAutoFillBackground(true);
ui->label->setPalette(palette);
样式表则简介的多,样式表里支持global颜色、rgb颜色和16进制颜色,当然也支持QColor
ui->label_2->setStyleSheet("QLabel{background-color:black; color:green}");
需要注意的是这样设置的green是深绿色,如下图右侧的label所示