問題タブ [qstandarditem]
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.
python - ドラッグ アンド ドロップで QStandardItem サブクラスを保持する
私は持っている:
itemB を itemA に移動してそのクラスを確認すると、ItemB は SubclassQStandardItemB ではなく QStandardItem になっています。
ドラッグ アンド ドロップ時にアイテムの元のクラスを保持するにはどうすればよいですか?
python - QT、Python、QTreeView、カスタム ウィジェット、setData - ドラッグ アンド ドロップ後に参照が失われる
この質問は、このトピックの質問に似ていますドラッグアンドドロップでQStandardItemサブクラスを保持しますが、適切な解決策が見つからないという問題があります。そのトピックは部分的に役立ちますが、より複雑なタスクでは失敗します。
QTreeView でアイテムを作成すると、そのアイテムが配列に配置されますが、ドラッグ アンド ドロップを使用するとアイテムが削除され、アクセスできなくなります。ドラッグ アンド ドロップは項目を移動せずにコピーするため、setData を使用する必要があることはわかっています。オブジェクトがコピーされ、それへの参照が失われるため、setDataをオブジェクトにすることはできません。
ここに例があります
上記のコードは、ウィジェットを移動しない場合に機能します。2 回目にドラッグ アンド ドロップすると参照が失われ、すべてのアイテムの更新が失われ、クラッシュします。
この問題を解決する方法として考えられるのは、ツリービュー全体を各行/子および名前一致の更新項目で再帰的にループすることです.... -各15アイテム。意味...非常に高速/効率的ではないと思います...0.5秒ごとに5000アイテムをループしたい場合...
この問題を解決する方法を誰かが提案できますか? おそらく、ドロップイベントを編集して、アイテムをコピー/貼り付けするのではなく、アイテムを移動することができます....このようにして、配列内のオブジェクトを失うことはありません
c++ - QStandardItem を複数の親アイテムの子として持つ
単一の QStandardItem を同時に複数の親の子にすることは可能ですか?
オブジェクトのプライマリ リストと、それらのオブジェクトのいくつかのサブリストがある状況があります。
例えば:
以前に Qt のモデル/ビュー システムを使用したことはありませんが、このプロジェクトで実現可能かどうかを確認しようとしています。
現在、複数のリストのセットがあります。これらのリストに項目を追加したいときは、ListItem にポインターを渡し、それをベクターに格納します。したがって、いずれかのリストの項目を更新すると、すべてのリストに変更が反映されます。
これは、モデル/ビューが実用的な時期ではない可能性があります。または、それを機能させるために大規模な再構築を行う必要がある可能性がありますが、現在のように、複数のモデル/ビューを持つことができれば最も簡単です.両親は同じ子供を反映しています。
これまでに思いついた唯一の解決策は、QStandardItem をそれぞれの子として個別に持つことですが、ListItem が更新されたときにシグナルを接続できるようにポインターを渡し、それに応じて QStandarItem の情報を更新することです。 .
これを行うためのより良い方法があれば、私はすべて耳にします。
python - PyQt5: QStandardItem のデータの設定
QStandardItem
私がそのように構築した場合:
このアイテムがQStandardItemModel
モデルに追加され、 で表示されるQTreeView
と、 というセルが表示されますItem Name
。ただし、次のようなものを作成すると:
空のセルを取得しますが、次のように呼び出してデータを呼び出すことができます。
番号を取得します123
。実際にセルに表示する数値を取得するにはどうすればよいですか?
qt - QStandardItemModel::removeRows() は再帰的ですか?
ツリー構造で呼び出すとremoveRows()
、すべての子のメモリが再帰的に解放されますか?QStandardItemModel
QStandartItem
qt - QTreeView からルート要素を削除するには?
スロット内のツリー要素の削除を処理します。最後の要素 (ルート) を除いて、すべての要素が削除されます。
最後の要素を削除しようとすると、なぜcurParent
ですか0x0
?
仕様: invisibleRootItem() のルート要素を使用してツリーを構築します。
最後の (ルート) 要素を削除する方法を教えてください。