問題タブ [qabstractitemmodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
164 参照

qt - qtreeview装飾エラーの解決方法

QTreeView + QAbstractItemModel という奇妙な動作があります。私のモデルのツリー データは正しく表示されますが、ツリーの装飾が間違っています。添付の​​図 (赤い線でマーク) を参照してください。アイテム「System:s6」については、追加の行が表示されます。

木

私のモデルの実装の間違いなのか、それとも何か他のものなのだろうか?何が間違っている可能性がありますか?

UPD: rowCount( QModelIndex & parent ) 関数のデバッグ出力

UPD2: qt 4.8.0

0 投票する
1 に答える
977 参照

qt - 動的ツリー モデル (Qt)

を使用しQAbstractItemModelて、ツリー モデル (数個のハウンド アイテムまで) を表します。データ自体は動的であり、いつでもノードが表示または非表示になり、値 (または他の役割) が変更される可能性があります。

モデルを変更するのは簡単です。QTreeView に変更を通知するために信号を効率的に送信する方法を知りたいです (ほとんどのノードは折りたたまれています)。

任意の時点で、複数の変更が同時に発生する可能性があります (行の挿入および/または削除)。

  1. beginInsertRows/ endInsertRows/ beginRemoveRows/を使用しendRemoveRowsて、ビューに複数の変更を通知する方法はありませんか?
  2. パフォーマンスに関して、最良の戦略は何でしょうか? たとえば、リーフからルートまで / 各ノードについて - 下から上 (vs 上から下) / 挿入前の削除 / など。
  3. beginResetModel/endResetModel必然的に効率が低下しますか?
  4. を使用する利点はありますQStandardItemModelか? (この特定のケースの場合)。
0 投票する
0 に答える
92 参照

qt - QTreeView with QAbstractItemModel and parent not known in the datamodel

I want to use QTreeView to visualize my class hierarchy. That hierarchy is given and I couldn't change it. But QAbstractItemModel force me to implement a parent() method in it. How can I do that?

So I have:

How can I implement a QModelIndex parent(const QModelIndex &index) const; method for QAbstractItemModel?

0 投票する
2 に答える
4964 参照

c++ - QAbstractListModel ベースのモデルに新しい項目を追加すると QML ビューが更新されない

QAbstractListModel から派生したモデルを QML ビューにバインドする方法を理解しました。

でも疲れた次はうまくいかない。新しいアイテムがモデルに追加された場合、QML ビューは更新されません。何故ですか?

DataObject.h

SimpleListModel.h

SimpleListModel.cpp

AppCore.h

AppCore.cpp

main.cpp

main.qml

0 投票する
2 に答える
2101 参照

pyqt - PyQt: 人間の言語での QTreeView と QAbstractItemModel

ここで TreeView/Model の概念を深く掘り下げますが、これまでのところ「理解している」ことです...

最初にMyTreeView () クラスをサブクラス化し、QTreeViewビルドインをMyOwnAbstractItemModel ()モデルに割り当てて拡張します (次のステップでサブクラス化します)。

MyOwnAbstractItemModel ()のサブクラス化/記述を続けます。組み込みの QAbstractItemModel() クラスを「テンプレート」として使用して開始します...

私が理解していることから、モデルが機能するために宣言する必要があるMyOwnAbstractItemModel()メソッドがいくつかあります。これらの method() 名とその構文の説明の完全なリストはどこで入手できますか?

オンラインで投稿されたコード例を見ました。これらの事前定義されたメソッドには、特定の構文が既に事前定義されているようです...着信引数の数や予想される引数のタイプなど...たとえば、以下のメソッドは着信引数を取得しません(何が明確ではないその目的):

しかし、この方法:

4 つの引数を取ります。ご意見をお聞かせください!よろしくお願いします。

0 投票する
1 に答える
1868 参照

qt - 基本クラス 'QAbstractListModel' にはプライベート コピー コンストラクターがあります

QT QML プロジェクトがあります。(まだ小さい)

UScenarioモデルにリストビューをバインドし、サブクラスQAbstractListModel化することから始めましたが、問題なく動作しました。

現在、それぞれUScenarioに のリストがありUTask、これには のリストもありますUCondition(つまり、UtaskサブクラスもQAbstractListModel)。しかし、その後、QT Creator はエラーを出します:

だから私はどこに問題があるのか​​ わかりません。QAbstractListModelvsに関するドキュメントを読んでみましたQAbstractItemModelが、手がかりがありません。

UTaskまた、間違った方法で を構築したことがあるかどうかも確認しようとしました。ないと思います。