Есть ли способ найти общее количество соединений сигналов/слотов в приложении Qt. Кто-то относится к гамма-лучу, но есть ли более легкое решение?Общее количество соединений сигналов/слотов?
ответ
Проверить Qt::UniqueConnection
.
This is a flag that can be combined with any one of the above connection types, using a bitwise OR. When Qt::UniqueConnection is set, QObject::connect() will fail if the connection already exists (i.e. if the same signal is already connected to the same slot for the same pair of objects). [...]
Затем используйте утверждение в случае соединения было уже существует, что приведет к сбою программы, указывающий на ошибку программирования:
QLabel *label = new QLabel;
QLineEdit *lineEdit = new QLineEdit;
auto ok = QObject::connect(lineEdit, &QLineEdit::textChanged,
label, &QLabel::setText,
Qt::UniqueConnection);
Q_ASSERT(ok);
Отказ от ответственности: непроверенный.
'bool ok = QObject :: connect' неверно. Тип возврата - 'QMetaObject :: Connection' - он может использоваться для будущей диагностики. –
хорошо, я думал, что 'operator bool()' обрабатывает это. Исправлена. –
В любом случае, ваше решение не является ответом, потому что вы не можете подсчитать количество существующих подключений. –
- 1. LinkedIn API - как запросить общее количество соединений?
- 2. Общее количество соединений в sql, используемых приложением
- 3. Как получить общее количество открытых HTTP-соединений на сервере?
- 4. Как запросить общее количество, когда у меня есть таблица соединений
- 5. Highcharts: Venn Diagram, как показать общее количество и число соединений?
- 6. Как рассчитать общее количество и общее количество в localStorage?
- 7. еженедельно общее и общее количество часов
- 8. Общее количество и общее значение pl/sql
- 9. Общее количество использованных контейнеров
- 10. SQL общее количество строк
- 11. Общее количество требуемых циклов
- 12. общее количество строк запроса
- 13. Подсчитайте общее количество абонентов?
- 14. Общее количество выбранных столбцов
- 15. Общее количество всех токенов
- 16. Найти общее количество студентов
- 17. Получить общее количество номеров?
- 18. Общее количество неограниченно
- 19. Java ArrayList Общее количество
- 20. Получить общее количество счетов
- 21. Общее количество контактов - android
- 22. Общее количество в C#
- 23. Общее количество отзывов
- 24. Общее количество часов работы
- 25. Общее количество ячеек DataGridView
- 26. вычислить общее количество столбцов
- 27. Crystal Reports - общее количество
- 28. Общее количество столбцов Datediff
- 29. Общее количество строк
- 30. Общее количество просмотров lucene
Вы говорите о соединениях сигналов/слотов, верно? Я скорректировал вопрос, потому что «соединение» может быть также базой данных или сетью. Вы хотите также подсчитать внутренние соединения Qt или только те из ваших собственных объектов? Для чего вам нужна информация? Возможно, будет лучшее решение. Помогает ли это? http://stackoverflow.com/questions/2755694/determine-signals-connected-to-a-given-slot-in-qt –
Спасибо за ваши комментарии и редактирование, я действительно ищу способ проверить и проверить, есть ли являются дублированными соединениями, например, несколько раз одна и та же пара сигналов/слотов подключена несколько раз. – Nyaruko
@Nyaruko не ответ на ваш вопрос, но если вы хотите избежать дубликатов, вы можете использовать флаг 'Qt :: UniqueConnection'. Btw, GammaRay является открытым исходным кодом, вы можете исследовать его код. Это очень мощный инструмент. –