2

私はQtをいじっていて、小さな問題に遭遇しました。

写真の一覧をアイコンの表として表示したい。現在、私はQAbstractTableModel をサブクラス化し、それを QTableViewサブクラスにプラグインすることでこれを行っています。

私の意見では、これはコード、モデル、およびビューを過度に複雑にします (特にアイテムを編集/追加しようとする場合)。モデルをQAbstractListModelとして実装しようとすると、項目がテーブルの行として表示されます。

代わりに QTableView にアイテムを列として表示させる方法はありますか?
編集:アイテムが左から右に 1 行でレンダリングされ、新しい行にラップされるようにします。

それとも、どのような場合でもテーブル ビューにテーブル モデルを使用し、問題を回避することが望ましいですか?

私は Qt Jambi に基づいて Qt の C# バインディングを使用していることに言及する価値があります。

4

2 に答える 2

3

QListView には、まさにあなたが話している機能があります。

QTableView に固有の機能が必要ない場合は、切り替えることをお勧めします。

「isWrapping」を設定すると、リストは上から始まり、下に移動し、新しい列に折り返されます。

"flow" を LeftToRight に設定して、リストを列ではなく行で表示します

Fixed の代わりに "resizeMode" を Adjust に設定する必要がある場合もあります。リストのサイズが変更されると、自動的に移動します。

それが役立つことを願っています。

補足として、ここに FlowLayout の例があります。したがって、一連の画像を自動調整グリッドに表示するだけの場合は、リスト/テーブルのオーバーヘッドなしで表示できます。ただし、選択/編集機能やレイアウトだけは提供しません。

于 2011-06-22T21:06:24.493 に答える
0

ここで何かがわかりません。TableModelを実装するので、最も望ましい方法で表示するデータを準備できます。データA、B、C、Dがあるとすると、A(00)、B(01)、C(10)、D(11)、またはたとえばA(00)、C(01)、Bを返すことができます。 (10)、D(11)。それはあなたがやりたいことですか?

于 2011-06-22T10:48:44.730 に答える