0

モデルを QTreeView に表示しています。表示されるデータはテキストで構成されています。私が達成しようとしている動作は、選択されていない行に 1 行のテキストのみを表示し、選択された行にすべての行 (1 行または複数行) を表示することです。

QStyledItemDelegate のdisplayTextメソッドを再実装することを検討していましたが、それが提供する唯一の情報はデータとロケールです。現在要求されているテキストが選択された行にあるかどうかを判断するには、ビューの QItemSelectionModelまたは何かにアクセスする必要があります。何か案は?

4

1 に答える 1

0

再実装QStyledItemDelegate::createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index )。「親」は、データの表現方法を制御します。独自のウィジェットを作成し、そこに必要なものを表示できます。残念ながら、アイテム デリゲートはビューへのアクセスを提供しないため、デリゲートでビューへの参照を作成できます。

于 2012-01-24T13:57:12.490 に答える