現在、TreeWidgetItems を使用してインターフェイスを設計しています。
やりたいことに応じて、いくつかのアクションを接続しました。以下のような
connect(this, SIGNAL(itemClicked(QTreeWidgetItem*, int)),
this, SLOT(onSubTreeDisplay(QTreeWidgetItem*)));
connect(this, SIGNAL(itemExpanded(QTreeWidgetItem*, int)),
this, SLOT(onSubTreeDisplay(QTreeWidgetItem*)));
itemClicked は正常に機能していますが、アイテムを展開しているときにイベントをキャッチできません。
itemClicked はクリックするとすぐに生成されますが、itemExpanded は指定された項目を展開したときにのみ反応するようです。
アイテムを指定せずに展開しようとするとすぐに、このシグナルを生成する必要があります。私が探しているのは、どのアイテムがクリックされたかを示す itemClicked のようなものです。インターフェイスにアクセスしてアイテムを展開する際にシグナルを生成し、展開されたアイテムを取得したい。
「このシグナルは、指定されたアイテムが展開されてそのすべての子が表示されたときに発行されます」を回避するためのアイデア。「このシグナルは、すべての子が表示されるように任意のアイテムが展開されたときに発行されます。」