正如 Qt 文档所述:不能保证使用 QPalette 对所有样式都有效,因为样式作者受到不同平台指南和本机主题引擎的限制.但是你可以这样做: QPalette 调色板 = ui->pLabel->palette();Palette.setColor(ui->pLabel->backgroundRole(), Qt::yellow);Palette.setColor(ui->pLabel->foregroundRole(), Qt::yellow);ui->pLabel->setPalette(调色板);但正如我所说,我强烈建议不要使用调色板而使用 Qt 样式表.How do I set color of text and background of a QLabel ? 解决方案 The best and recommended way is to use Qt Style Sheet.To change the text color and background color of a QLabel, here is what I would do :QLabel* pLabel = new QLabel;pLabel->setStyleSheet("QLabel { background-color : red; color : blue; }");You could also avoid using Qt Style Sheets and change the QPalette colors of your QLabel, but you might get different results on different platforms and/or styles.As Qt documentation states : Using a QPalette isn't guaranteed to work for all styles, because style authors are restricted by the different platforms' guidelines and by the native theme engine.But you could do something like this : QPalette palette = ui->pLabel->palette(); palette.setColor(ui->pLabel->backgroundRole(), Qt::yellow); palette.setColor(ui->pLabel->foregroundRole(), Qt::yellow); ui->pLabel->setPalette(palette);But as I said, I strongly suggest not to use the palette and go for Qt Style Sheet. 这篇关于QLabel:设置文本和背景的颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
06-27 08:00