1. ホーム
  2. qt

[解決済み】QLabel: テキストと背景の色を設定する

2022-04-13 06:01:21

質問

の文字色と背景色はどのように設定するのですか? QLabel ?

解決方法は?

Qtスタイルシートを使用するのが最も良い方法であり、推奨される方法です。Docsを参照してください。 Qt 5 スタイルシート , Qt 6 スタイルシート .

の文字色と背景色を変更するには、次のようにします。 QLabel ということで、私ならこうします。

QLabel* pLabel = new QLabel;
pLabel->setStyleSheet("QLabel { background-color : red; color : blue; }");

また、Qt スタイルシートの使用を回避して QPalette の色を変更することができます。 QLabel しかし、プラットフォームやスタイルが異なると、異なる結果が得られるかもしれません。

Qt のドキュメントにあるように :

QPaletteを使用しても、すべてのスタイルで動作することは保証されていません。なぜなら、スタイル作成者は、異なるプラットフォームのガイドラインとネイティブのテーマエンジンに制限されるからです。

しかし、次のようなことができるかもしれません。

 QPalette palette = ui->pLabel->palette();
 palette.setColor(ui->pLabel->backgroundRole(), Qt::yellow);
 palette.setColor(ui->pLabel->foregroundRole(), Qt::yellow);
 ui->pLabel->setPalette(palette);

しかし、やはりパレットは使わず、Qtスタイルシートを使うことを強くお勧めします。