私はPythonとPyQtが初めてです。4 つの QtTreeWidgets を同期させて、アイテムがすべてのアイテムのすべての属性と同様に同じになるようにする最良の方法は何ですか? これらのウィジェットは、セッション中のさまざまなタイミングでさまざまなダイアログ ボックスに表示されます。さまざまな理由から、既存のコード、シグナル、およびレイアウトを可能な限り元のままにしておく必要があります。Model/View 部門は明らかに最初の場所ですが、ツリーへのアクセスまたはツリーの更新に使用されるメソッドには触れたくありません。数か月以内に全体をリファクタリングする予定ですが、それまでに何かを急いで実行する必要があります。
各 QTreeWidget は便利なクラスであるため、それぞれに独自のデータがあります。UI は Qt Designer で管理されていますが、そのままにしておきたくありません。
各ダイアログが初期化されると、ツリーが表示されます。アプリケーションには、すべてのダイアログがその変数/属性を参照するために使用できるシングルトン クラスがあります。
各親ダイアログの初期化で、「locationTree」属性がシングルトンに存在するかどうかを確認できませんでした。そうでない場合は、初期状態を入力し、ダイアログ内のツリーでそれまたはそのコピーを使用する必要があります。ダイアログ ツリーの状態がトラップできる方法で変更されるたびに、シングルトン 'locationTree' を更新して変更を反映したいと考えています。QTreeWidgetItem にはクローン メソッドがありますが、QTreeWidget 全体に対応するメソッドは見当たりませんでした。
既存のコード ベースと GUI レイアウトへの最小限の変更でこれを達成するにはどうすればよいでしょうか?
ジョン