1

setAlternatingRowColors のように、QTableWidget の特定の行に色を設定したいのですが、必要な行と色を指定できる必要があります。次のコードを試しました

QBrush b (QColor(224,224,224));
item->setBackground( 0 , b );
item->setBackground( 1 , b );
item->setBackground( 2 , b );

ただし、このコードは、行全体ではなく、項目列にのみ色を設定します。

4

1 に答える 1

1

Qt は個別の QTableWidgetItems で QTableWidget のすべてのフィールドを処理するため、ここで提案するようにテーブル内の完全な行に影響を与える方法はありません。標準フィールドのみを使用し、カスタム「スペシャル」を使用していないように見えるため、行 QTableWidgetItems を反復処理して、背景を 1 つずつ設定することができます。

ニーズに対応するよりスタイリッシュな方法は、Qt のモデル/ビュー フレームワークを使用して、QBackgroundRole を使用してデータ バックエンド経由で背景色を取得することです。これの良い出発点は次のとおりです: http://qt-project.org/doc/qt-4.8/model-view-programming.html

MVC パラダイムの背後にある概念を理解するのは難しいかもしれませんが、習得すると非常に柔軟です。

于 2013-04-19T09:04:42.447 に答える