Qt сигналы и слоты: разрешения

Здесь есть расхождения между уважаемыми ответами здесь на SO и фактическими документами Qt.

я прочелэтот вопрос и я хочу получить дополнительные разъяснения. Может ли кто-нибудь подтвердить:

Сигнал всегдаprotectedследовательно, он может быть выдан только классом или любым его подклассом. Я не уверен, что это правда; вопрос выше показывает ответы, подтверждающие это утверждение. НоQt docs сказать:Signals are public access functions and can be emitted from anywhere, but we recommend to only emit them from the class that defines the signal and its subclasses. Так что это?Слоты являются просто функциями, и, таким образом, могут быть публичными, частными или защищенными. Очевидно, внешний классбудем иметь возможность контролировать, подключает ли ваш класс один из своих собственных сигналов к одному из своих собственных слотов, если слот является общедоступным. Однако, опять же, информация о SO отличается от документации, в которой говорится:a signal emitted from an instance of an arbitrary class can cause a private slot to be invoked in an instance of an unrelated class. Это значит, чтоprivate не соблюдается механизмом сигнал / слот?Слова публичный, частный, защищенный не имеют смысла работать сsignal ключевое словоИспускаемый сигналвсегда доступный для всех других классов, то есть любой другой класс может всегда подключаться к этому сигналу (независимо от его разрешения на испускание сигнала).Несмотря на то, что все сигналы доступны для просмотра всем классам, вы можете иметь два класса с сигналами с одинаковым именем, так какconnect функция принимает имя класса в качестве префикса сигнала (т.е.SomeClass::itsSignal)

Ответы на вопрос(3)

Ваш ответ на вопрос