問題タブ [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.

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

python - ドラッグ アンド ドロップで QStandardItem サブクラスを保持する

私は持っている:

itemB を itemA に移動してそのクラスを確認すると、ItemB は SubclassQStandardItemB ではなく QStandardItem になっています。

ドラッグ アンド ドロップ時にアイテムの元のクラスを保持するにはどうすればよいですか?

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

python - QT、Python、QTreeView、カスタム ウィジェット、setData - ドラッグ アンド ドロップ後に参照が失われる

この質問は、このトピックの質問に似ていますドラッグアンドドロップでQStandardItemサブクラスを保持しますが、適切な解決策が見つからないという問題があります。そのトピックは部分的に役立ちますが、より複雑なタスクでは失敗します。

QTreeView でアイテムを作成すると、そのアイテムが配列に配置されますが、ドラッグ アンド ドロップを使用するとアイテムが削除され、アクセスできなくなります。ドラッグ アンド ドロップは項目を移動せずにコピーするため、setData を使用する必要があることはわかっています。オブジェクトがコピーされ、それへの参照が失われるため、setDataをオブジェクトにすることはできません。

ここに例があります

上記のコードは、ウィジェットを移動しない場合に機能します。2 回目にドラッグ アンド ドロップすると参照が失われ、すべてのアイテムの更新が失われ、クラッシュします。

この問題を解決する方法として考えられるのは、ツリービュー全体を各行/子および名前一致の更新項目で再帰的にループすることです.... -各15アイテム。意味...非常に高速/効率的ではないと思います...0.5秒ごとに5000アイテムをループしたい場合...

この問題を解決する方法を誰かが提案できますか? おそらく、ドロップイベントを編集して、アイテムをコピー/貼り付けするのではなく、アイテムを移動することができます....このようにして、配列内のオブジェクトを失うことはありません

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

pyside - Pysideのオブジェクトに反映されたQStandardItemチェックボックスの変更

UI のチェックボックスを、それらが表すプロパティと同期するにはどうすればよいですか? UIでチェックボックスの状態を変更すると、クラスオブジェクトのプロパティの値がチェックボックスの状態と一致するように適切に設定されますか?

たとえば、FumeFX_001 の [Continue Sim] チェックボックスをクリックすると、プロパティも一致するように変更されます。

印刷ボタンは、ユーザーが UI のチェックボックスをクリックしたときに値が更新されるかどうかをテストするのに役立ちます。

ここに画像の説明を入力

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

c++ - QStandardItem を複数の親アイテムの子として持つ

単一の QStandardItem を同時に複数の親の子にすることは可能ですか?

オブジェクトのプライマリ リストと、それらのオブジェクトのいくつかのサブリストがある状況があります。

例えば:

以前に Qt のモデル/ビュー システムを使用したことはありませんが、このプロジェクトで実現可能かどうかを確認しようとしています。

現在、複数のリストのセットがあります。これらのリストに項目を追加したいときは、ListItem にポインターを渡し、それをベクターに格納します。したがって、いずれかのリストの項目を更新すると、すべてのリストに変更が反映されます。

これは、モデル/ビューが実用的な時期ではない可能性があります。または、それを機能させるために大規模な再構築を行う必要がある可能性がありますが、現在のように、複数のモデル/ビューを持つことができれば最も簡単です.両親は同じ子供を反映しています。

これまでに思いついた唯一の解決策は、QStandardItem をそれぞれの子として個別に持つことですが、ListItem が更新されたときにシグナルを接続できるようにポインターを渡し、それに応じて QStandarItem の情報を更新することです。 .

これを行うためのより良い方法があれば、私はすべて耳にします。

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

python - PyQt5: QStandardItem のデータの設定

QStandardItem私がそのように構築した場合:

このアイテムがQStandardItemModelモデルに追加され、 で表示されるQTreeViewと、 というセルが表示されますItem Name。ただし、次のようなものを作成すると:

空のセルを取得しますが、次のように呼び出してデータを呼び出すことができます。

番号を取得します123。実際にセルに表示する数値を取得するにはどうすればよいですか?

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

qt - QStandardItemModel::removeRows() は再帰的ですか?

ツリー構造で呼び出すとremoveRows()、すべての子のメモリが再帰的に解放されますか?QStandardItemModelQStandartItem

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

qt - QTreeView からルート要素を削除するには?

スロット内のツリー要素の削除を処理します。最後の要素 (ルート) を除いて、すべての要素が削除されます。

最後の要素を削除しようとすると、なぜcurParentですか0x0?

仕様: invisibleRootItem() のルート要素を使用してツリーを構築します。

最後の (ルート) 要素を削除する方法を教えてください。