4

QAbstractTableModel() から継承するカスタム モデルで QTableView を使用しています。このモデルは、表示された値に基づいて一部のセルの前景色と背景色を変更します。行全体を選択するように選択動作を設定しました。

問題は、行を選択すると、行全体の背景色が標準のオレンジ色になり、テキストの色が白くなることです。選択を解除すると、モデルの設定に戻ります。

私がやりたいことは、ユーザーが行を選択したときに、その前景色と背景色が変わらないようにすることです。

QPalette を設定しようとしましたが、上記を実現する方法が見つかりません。

C++ で Qt 5.1.0 (32 ビット) を使用しています。

4

2 に答える 2

4

テーブル ビュー クラスで次のことができます。

const QColor hlClr = Qt::red; // highlight color to set
const QColor txtClr = Qt::white; // highlighted text color to set

QPalette p = palette();
p.setColor(QPalette::Highlight, hlClr);
p.setColor(QPalette::HighlightedText, txtClr);
setPalette(p);
于 2013-09-26T07:17:04.210 に答える