Мы используем Qt, который предлагает сигналы и слоты, которые я нахожу действительно удобный. Однако, с большой силой приходит большая ответственность, и я думаю, что это очень легко злоупотреблять этой функцией.Когда использовать сигналы и слоты, а не
Есть ли какие-либо рекомендации по использованию сигнала? Таким образом, мне сложно найти некоторые общие рекомендации. Некоторые вопросы (у меня есть четкие мнения, но у меня не все члены моей команды):
- Можно ли использовать сигналы для сообщения об ошибках?
- Можно ли предположить, что сигнал будет обработан?
- Может ли сигналы использоваться для инициирования действий? Например.
signal displayInfoScreen()
должен обрабатываться слотом, который отображает информационный экран.
Любые другие мнения о том, когда сигналы должны/не должны использоваться, являются очень приветствуются!
Принято, поскольку в этом ответе приведены простые примеры использования в Qt. Вы считаете, что ошибки в порядке, но только тогда, когда обработка является асинхронной? – larsmoa
Спасибо! И, да, в противном случае добавьте либо возвращаемое значение состояния, либо аргумент состояния (как QString :: toInt). – e8johan