C++ で Qt アプリケーションを開発しています。アプリケーションは、システム内の各エンティティのサブツリーを持つツリー ウィジェットを中心にしています。エンティティには、ユーザーが指定できる「ハイライト」色があり、特定のエンティティに関連するイベントを強調表示します。エンティティ ルート ツリー アイテムの背景色は、エンティティのハイライト カラーです。エンティティに関連するイベントが発生した場合、エンティティに一致する識別子の背景色をエンティティのハイライト色と同じにしたいと考えています。これは、私がやろうとしていることの大まかなモックアップです。疑似 HTML タグで色と必要な場所を示しています。
<bgcolor=blue>Entity A</bgcolor>
Events
Identifier1 and <bgcolor=blue>Identifier2</bgcolor>
<bgcolor=blue>Identifier2</bgcolor> @ 10:45:22
<bgcolor=blue>Identifier3</bgcolor> and Identifier4
私が理解しているように、これは QTreeWidgetItem では直接可能ではありません。カスタム ペインティングを処理するツリー アイテムのデリゲートを提供できることはわかっていますが、Qt の QStyle 部分に精通していません。当社のお客様は、XP および Win7 でこのアプリケーションを使用し、WindowsClassic スタイルが有効になっている場合とされていない場合があります。そのため、すべての QStyle の可能性を処理することは非常に複雑になる可能性があります。ツリー項目の描画ニーズのすべての潜在的な部分を処理する必要なく、QStyle に必要な背景色で必要なテキストの部分を描画させるショートカットはありますか?