Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
flankerr |
21.9.2009, 14:21
Сообщение
#21
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0
|
Ну так я и говрю что результат от
QMetaObject::invokeMethod(Qt::QueuedConnection) и emit MySignal (соеденённый со слотом) будет одинаковым. |
|
|
|
|
SABROG |
21.9.2009, 14:52
Сообщение
#22
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34
|
Разница в количестве писанины и в том, что sender() будет возвращать 0, если метод был вызван через QObject::invokeMethod():
Кстати сигналы можно эмитить не только изнутри объектов: Но в этом случае сигнал должен быть public. Сообщение отредактировал SABROG - 21.9.2009, 15:13 |
|
|
|
|
Litkevich Yuriy |
21.9.2009, 15:51
Сообщение
#23
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(flankerr @ 21.9.2009, 18:21) Link Ну так я и говрю что результат от при соединении с Qt::QueuedConnection, да
QMetaObject::invokeMethod(Qt::QueuedConnection) и emit MySignal (соеденённый со слотом) будет одинаковым. |
|
|
|
|
kwisp |
21.9.2009, 15:55
Сообщение
#24
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
читал эту тему(про сигналы и слоты) последний раз основательно в 3.3.4 и там точно помню что все сигналы protected.
и вызвать их не из содержащего класса напрямую нельзя. Сообщение отредактировал kwisp - 21.9.2009, 15:58 |
|
|
|
|
SABROG |
21.9.2009, 16:02
Сообщение
#25
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34
|
Цитата(kwisp @ 21.9.2009, 16:55) Link читал эту тему(про сигналы и слоты) последний раз основательно в 3.3.4 и там точно помню что все сигналы protected. и вызвать их не из содержащего класса напрямую нельзя. Qt'шные сигналы protected, а свои можно какими угодно сделать и sender() валидный приходит. |
|
|
|
|
kwisp |
21.9.2009, 16:05
Сообщение
#26
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
SABROG,
интересно зачем разработчики сделали по умолчанию signals в секции protected. никто не задумывался. ? |
|
|
|
|
SABROG |
21.9.2009, 16:11
Сообщение
#27
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34
|
Цитата(kwisp @ 21.9.2009, 17:05) Link SABROG, интересно зачем разработчики сделали по умолчанию signals в секции protected. никто не задумывался. ? Вероятно, чтобы никто другой не мог "подделать" сигнал объекта. Разделение границ. |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 22.12.2025, 10:20 |