Как отследить излучаемые сигналы в QT? - PullRequest
7 голосов
/ 06 мая 2010

Есть ли способ наблюдать за всеми излучаемыми сигналами?

PS. Конечно, мы можем написать слоты для всех сигналов, но это не то, что я хочу.

1 Ответ

6 голосов
/ 06 мая 2010

Что вы подразумеваете под наблюдением? Вам нужна обратная связь с консолью в реальном времени или достаточно выхода из файла при выходе из программы?

Если вам нужна обратная связь в режиме реального времени на консоли, вы можете проверить реализацию QTest. Существует ключ командной строки -vs ( Qt doc ), который позволяет выводить все сигналы на консоль (или вы можете просто запустить свои тесты QTest с ключом -vs, если информация о сигналах нужна только в тестах, в реальном приложении).

Другой способ - использовать класс QSignalSpy . Однако это не идеально, потому что вам нужен один шпион на каждый сигнал, и вы должны периодически печатать наблюдаемые сигналы (в QSignalSpy нет уведомлений).

...