問題タブ [qstandarditemmodel]

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 に答える
2534 参照

c++ - QStandardItemModel/QTreeView でデータを操作していますか?

私のプロジェクトでは、データ ファイルを解析し、そのファイルに基づいて QStandardItemModel を作成し、QTreeView に表示します。モデルは正常に作成され、作成時に QStandardItem ごとに特定のパラメーターを設定する方法を知っています。たとえば、表示テキストとアイコンを設定する方法を知っています。各項目に「余分な」データを格納するための「カスタム コンテナー」を作成する方法はありますか?

データファイルから読み取り、それをモデルに解析することは(信じて)問題なく実行できます。ただし、ユーザーは QTreeView 内からモデルを編集/操作できる必要があります。これには、項目の追加と削除が含まれます。これは単純に見えますが、その項目に関連付けられたデータの一部は QTreeView に表示されません。ユーザーが編集しようとするまで、それはちょっと...「非表示」です。ユーザーはアイテムをダブルクリックして、他のパラメーターやデータを編集できるダイアログを表示する必要があります (非常に長い文字列や QTreeView に表示できないものなど)。

ツリー内の各項目に関連するすべての「追加データ」を保存する方法を見つけようとして、かなりの困難を抱えています。最初は、ある種の QVector が頭に浮かびますが、QVector を操作しながらモデルを操作するという手法は、私には理解できません。

さらに悪いことに、ユーザーは、以前のデータ ファイルに加えられた編集を保持したまま、異なるデータ ファイル (別名モデル) を切り替えることができる必要があります。

何か案は?ご不明な点がございましたら、お気軽にお問い合わせください。私はあなたが望む限り明確にすることができます. :) 御時間ありがとうございます。

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

python - ファイル パスのリストから QTreeView を生成する

この質問は、以前に次の場所で尋ねられました。

https://stackoverflow.com/questions/26538667/pyqt-populate-qtreeview-from-txt-file-that-c​​ontains-file-paths

しかし、返事が来なかったようです。

次のようにフォーマットされたファイルパスのデータセットがあります。

そして、私は彼らに QTreeView (PySide) を埋めさせようとしています。私が持っている現在のコードは、単純な再帰関数を使用したものです。

ただし、既存の行の QStandardItem を調べる方法が見つからないため、結果として UI に次のように表示されます。

ここに画像の説明を入力

QStandardItem で重複行を検索する方法や、QStandardItemModel をトラバースして既存の QStandardItem を検索する方法はありますか? 私は過去2日間この問題に苦労しており、既存の例を見つけようとしていますが、これがどのように複雑になる可能性があるのか​​ 本当に理解できません...

これに関するヘルプ/アドバイスをいただければ幸いです。ありがとう!

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

python - QListView に値を入力してデータを表示する方法は?

QListView を含むフォームを作成しています。次のコードを使用してデータベースから入力されます。

私の QListView は listUser という名前で、SELECT_USERS_ACCOUNTS() 関数は select id,name from table_user によって作成されたデータを返します。ユーザーが項目をクリックして QListView に移動するため、row[0] (table_user の id 列) も格納する必要があります。このIDをキャプチャしたい。前もって感謝します。

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

qt - QTableView の QStandardItemModel からアイテムを取得する

各ノードがデータ オブジェクトをQTreeView表す があります。QVariantツリーでどれが選択されているかがわかるように、このデータ オブジェクトへのポインタを にパックすることができました。関数でノードにアクセスできますcurrentIndex()

ツリーのルートは にありQStandardItemModel::invisibleRootItem()ます。他のノードは、親ノードappendRow機能によって追加されます。そのため、で使用できるアイテムにはrowとがありません。columnQStandardItemModel::item()

ノードに有効な座標を与えるか、座標なしでアイテムを取得する方法はありますか?

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

qt - qtreeview変更のシグナルは何ですか

で表される JSON ファイルから取得した辞書がありますQTreeView QStandardItemModel

ユーザーは項目を再編成QTreeView(追加、削除、ドラッグ アンド ドロップ) し、名前を変更できます。

目標は、 changed を読み取る関数を呼び出しQTreeView、辞書を作成し、それを最初の JSON ファイルに書き込むことです。

変更が発生した後に a を押すQPushButtonか、その関数をすべての変更にバインドすることで実行できます。たとえば、アイテムが削除されたときに関数を呼び出す、アイテムが追加されたときに関数を呼び出す、アイテムの名前が変更されたときに関数を呼び出すなどです。

変更が発生した場合に関数を呼び出す方法はありますか? 上記のすべての変更に対応するシグナルはありますか?