2017-09-28 16 views
0

サービスを送信しているオブジェクトのデータを保存するアプリケーションを作成しています。QheaderViewマルチレベルを作成するには?

私はのQtableViewで表示したいモデルのQtで作成しました。

しかし、QtableViewは私に左の行レベルを示します。私はそれを削除したい、または可能ならばそれを隠したい。

ヘッダーに問題があります。ヘッダーに問題があり、水平に2つに分割して、下部の対応する部分を垂直に2つに分割します。これらの分割の理由は、私には同様の初めの2つのヘッダーがあります(対応日と対応番号の日付)

本当に私にとって重要なので、お返事ありがとうございます。

enter image description here

+0

は、ここでは、行を非表示にすることができます方法です数値: 'myTableView-> verticalHeader() - > hide();'しかし、あなたの質問の第2部分ははるかに難しいです。 QHeaderViewをサブクラス化し、2つの隣接する列のヘッダーの上部を1つの列ヘッダーとしてレンダリングする実装が実現可能な唯一の方法だと思います。 – Dmitry

+0

あなたはヘッダーをどのようにしたいかのイメージを置くことができます。 – eyllanesc

+0

私の最初の質問については、あなたの答えは完全にはたらきますが、2番目のものは私のために少しばかげています。私はビジュアルでもよく理解できると思っています。私はこの順序で論理的ですが、私はあなたに感謝するすべての提案に開いています。 –

答えて

1

QHeaderViewのこのタイプは存在しませんが、我々はQHeaderViewから継承したクラスを作成する必要があり、それのためにそれを作成し、書き換えることができ、主のセクションを描画を担当する方法がある方法paintSectionQHeaderView

しかし、あらゆるタイプのビジュアルデザインの一般的なプロジェクトを行うには、各セクションの位置とサイズの情報を保持する必要があります。これはモデルを作成し、上書きされたクラスの理由を理解するためです次の内容:link

  • TableHeaderItem

    各メソッドのロジックを説明するので上記のみを実装してプロジェクトのlinkを配置し、各クラスのタスクを記述広範囲であることが、それぞれの情報を保存する責任がありますアイテム、主に行スパンおよび列スパンに加えて、

  • GridTableHeaderModel:私たちは、各項目に

  • GridTableHeaderViewを編集して読むことができるように、各項目へのアクセスを提供するモデルクラス:このクラスは、主な方法は、所望の外観を得るために上書きされたカスタムQHeaderViewです。

  • GridTableView(オプション):GridTableHeaderViewで直接動作するメソッドを持つTableViewです。

出力:

enter image description here

注:hide()メソッドを使用することが必要なだけである垂直ヘッダーを非表示にするには、

horizontalHeader()->hide(); 
+0

ありがとうeyllanesc私はあなたのコードソースをコンパイルしようとしましたが、いくつかのエラーがありました。私は現在、ソースコードを読んでいます。あなたのアプローチをもっともっと理解してください。 –

+0

スクリーンショットで得られた結果はまさに私が望むものです。エラーのスクリーンショットhttps://i.imgur.com/8DH1h1J.png –

+0

Qt5のあなたのバージョンは何ですか? – eyllanesc

関連する問題