2011-08-30 9 views
5
ここ

は私が取得しようとしているものです(これはQTableViewウィジェット+乗算代表者QAbstractTableModelに基づいてMVC):カスタム(編集不可能な)デリゲートを使用してモデル/ビューQTableViewを作成するには?

enter image description here

注:

  • 代表者はエディタとして働いていない、彼らは唯一の視聴者です!私はこのテーブルビューでモデルを編集することはできません。

  • 参加者は実現可能でなければなりません。これは、BLUE行の全高さが25pxまたは250pxになることを意味します。

    1ROW:CompanyName1名1、Name2は、NAME3他のデータ

    2ROW:CompanyName2 SingleName1他のデータ

    3ROW:ようにCompanyName3名1、Name2は他のデータと

  • MVは、単純なデータです。 ..

質問:

  • たとえば、上記の画像のように2番目の列にカスタムデリゲート(QItemDelegate、またはQStyleItemDelegate)を作成することはできますか?可能であれば、私にいくつかの例やリソースリンクを教えてもらえますか?

PS。はい、私はすべてQtのデモの代議員の例を見てきましたが、私はそれを手に入れません。

PSS。 QTableView - >setIndexWidget()私はそれは良い考えではないと思います。しかし、QTableView - >setItemDelegateForColumn(myCustomDelegate)の方が良いです!

P3S。私はQTableWidgetクラスの解決策を探していません...

あなたの返信ありがとうございます! :-)


更新#1:

  • は私がいることを考える:

    • 代表は、例えば(編集用にのみ使用され、我々はモデルで作業をしている場合/ビューオブジェクト)と同様の項目(すべて/単列/単なる行)を管理します。

    • カスタムウィジェットは優れていますが、私は無料のQtプロジェクトでそれらを満たしていません。そんなウィジェットの素敵で正しいコードを手に入れるのは簡単ではない...


追加:

  • ここでは、質問を類似性linkです。
+0

モデルからデータを取得する方法を説明できますか?カスタムロールを使用していますか?たとえば、特定の行に対して 'CompanyName2'を取得するにはどうすればよいですか? – Casey

+0

今のところ、私はそのような解決策を持っていません。 'QTreeWidget' +私のカスタムウィジェットのみ。私の質問では、テーブルビュー、モデル、デリゲートのようなものに参加するための情報が含まれている回答を探しています... – mosg

+0

@mosg完全な最小限の作業例を含めると、あなたはXをしたいと思っています。率直に言って、私はスピンボックスデリゲートの例が非常に役に立ち、シンプルでした。 http://qt-project.org/doc/qt-4.8/itemviews-spinboxdelegate.html。私はPythonで作業しますので、以下の答え以外の詳細はあまりにも助けてはいけません。実際にはかなり簡単です。読み取り専用モデルのためにペイントを再実装するだけです。残りの作業はデリゲートベースクラスに戻ります。 – neuronet

答えて

0

デリゲートは、編集に使用されるウィジェットを作成するのに便利です。また、可視の各インデックス(この場合はテーブルセル)の全体的なルックアンドフィールを作成する際にも使用されます。

デリゲートのpaint()メソッドを再実装することによって、ルックアンドフィールをカスタム作成できます。

関連する問題