QtのこのModel/View Frameworkは初めてです。私のアプリケーションでは、1000 X 1000のセルが必要です。最小メモリ要件があり、高速である必要があります。このモデルの用語が何のためにあるのか分かりません。しかし、テーブルに格納されているdouble変数の処理方法を知っている独自のクラスがあります。現在、QLineEditのValidatorを使用してセルの配列を作成しています。しかし、50 X 50を超えるセルに対しては遅すぎるので、古き良きMS Excelの方法を採用することにしました。
どのウィジェットを使用する必要があります:QTableWidget
またはQTableView
?
そして、誰でもこのModel/Viewフレームワークが何であるか簡単に説明できますか?私はコンピューターサイエンスの男ではないので、理解するのが難しいと感じています...
cmannett85の推奨は良いものです。文書を数十回読んでください。
次に、パフォーマンスとメモリの問題が主な関心事であり、QTableWidgetの実装をアウトパフォームできると思う場合は、 QTableView インターフェースの QAbstractTableModel または QStandardItemModel が探しているものです。
Qtのモデルビューアーキテクチャは初めてなので、慣れるまでQStandardItemModelを使用することをお勧めします。それでもパフォーマンスが十分でない場合は、カスタムモデルを実装して、メモリの重複や無駄なオブジェクトの多くを避けてください。さらに、 優れた教科書 を入手し、モデルビューフレームワークに関する章を約12回読んでください。そのセクションだけでも、金でその重みの価値があります。
Qtのカスタムモデルビューフレームワークの基本は次のとおりです。
安くて勇気があるなら、 この抜粋 をチェックして、独自のカスタムモデルを実装してください。一度に1つの機能で作業し、移動しながら操作します。
フレームワークを理解するには、まずそれについて documentation から始めてください。開始は遅くなりますが、適度に広範囲になり、関係するほとんどのクラスをカバーします。
QTableWidgetまたはQTableView?
ドキュメントを読むと、なぜこの質問が本当に意味をなさないのかがわかるでしょう:a QTableWidget
usesa QTableView
はデータを表示します。 QTableWidget
(QTreeWidget
などとともに)はMVCフレームワークを使用しますが、ほとんどすべての目的に役立つ便利なパッケージにすべてをカプセル化しますが、何か別のことをする必要がある場合は、それをコンポーネント部分にクラックし、必要なビットを再実装します。