1

各行がビデオのフレームを表し、各列がオブジェクトを表す 2D モデルがあります。オブジェクトはフレームごとに異なる状態を持つことができ、これはモデルに保存されます。次に、このデータを表示する QTableView があります。モデルにはヘッダー データがあるため、各行には「フレーム k」のようなヘッダーがあり、各列には「オブジェクト n」のようなヘッダーがあります。このテーブルは編集可能です。しかし、ユーザーに別の方法で編集してもらいたいです。もう 1 つの方法は、1 つのフレームを表示するグラフィック ビューです。グラフィックス ビューの下には、各フレームを表すリスト (水平方向) があります。このようにして、ユーザーがリスト内のフレームをクリックすると、グラフィックス ビューにそのフレームが表示されるようになります。

問題は、リストがモデルの各行の最初の列を表示することです。私がやりたいのは、代わりに各行のヘッダーを表示することです(したがって、リストには「フレーム1、フレーム2など」と表示されます)。これを行う方法はありますか?

4

1 に答える 1

1

考えられる解決策は次の 2 つです。

  1. 行ヘッダーを単一行の列としてアクセスするプロキシ モデル (QAbstractProxyModel のサブクラス) を使用してみてください。プロキシ モデルは、元のモデルがヘッダーと見なすものをデータとして表示するため、簡単ではありません。

  2. モデルの 2 番目の 2D ビューを表示しますが、列ヘッダー以外はすべて非表示にします。フレームは行であるため、行と列の間を転置するにはプロキシ モデルが必要です。

免責事項:私は実際にソリューションを実装していません。

于 2008-09-20T19:11:32.877 に答える