Python GUI:QTableViewでセルの背景色を設... ノート
RSS惑星Python

Python GUI:QTableViewでセルの背景色を設定する方法 — QtのBackgroundRoleを使用して、データに基づいて行全体を着色する

QTableViewでデバイスのステータスを視覚的に示すには、モデルのdata()メソッドをカスタマイズして行全体をハイライトすることができます。QTableViewビューは、各セルのQt.BackgroundRoleを含む様々なデータロールについてモデルに問い合わせます。行のデータ内の条件に基づいて、Qt.BackgroundRoleが要求されたときにモデルのdata()メソッドからQColorを返すことで、背景色を設定できます。この色は、data()メソッドがすべてのセルに対して呼び出され、色の決定が列インデックスに依存しないため、その行のすべてのセルに適用されることが重要です。この例では、「NewConnection」の場合は青、「Registered」の場合は緑のステータスで行を色付けすることでこれを実証しています。色付きの背景でのテキストの可読性を確保するために、Qt.ForegroundRoleを処理し、対照的なテキスト色を返すこともできます。データが動的に変更される場合は、モデルからdataChangedシグナルを発行して、ビューに再レンダリングを促し、更新された行の色を表示する必要があります。このアプローチは、QTableViewで行をハイライトするための、明確でデータ駆動型の方法を提供します。