4

QTreeWidget のブランチにデータを入力し、ブランチの親の Expanded 属性を true に設定しています。itemExpanded シグナルが応答して発生しますが、これは私が望んでいるものではありません。コードのセグメント中にシグナルを一時的に抑制または吸収する方法はありますか?

4

1 に答える 1

8

QObject::blockSignals を使用してシグナルのブロックを設定できます。
http://doc.qt.nokia.com/stable/qobject.html#blockSignals

bool QObject::blockSignals ( bool block )
block が true の場合、このオブジェクトから発信されたシグナルはブロックされます (つまり、シグナルを発信しても、それに接続されているものは呼び出されません)。block が false の場合、そのようなブロッキングは発生しません。戻り値は、signalsBlocked() の以前の値です。このオブジェクトのシグナルがブロックされていても、destroyed() シグナルが発行されることに注意してください。signalBlocked() も参照してください。

于 2011-09-06T16:47:45.107 に答える