автоматический disconnect, сигналы и слоты |
Здравствуйте, гость ( Вход | Регистрация )
автоматический disconnect, сигналы и слоты |
zss |
19.8.2009, 14:24
Сообщение
#1
|
Участник Группа: Участник Сообщений: 112 Регистрация: 9.6.2009 Пользователь №: 815 Спасибо сказали: 0 раз(а) Репутация: 0 |
у меня создается окно. его слот подписывается на сигнал и окно отображается. Это диалог.
Безопасно ли просто закрыть окно (соответственно просто разрушить его). Произойдет ли автоматическое отключение от сигнала ? если нет, то как этого добиться ? |
|
|
BRE |
19.8.2009, 14:26
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
zss |
20.8.2009, 9:59
Сообщение
#3
|
Участник Группа: Участник Сообщений: 112 Регистрация: 9.6.2009 Пользователь №: 815 Спасибо сказали: 0 раз(а) Репутация: 0 |
Произойдет. спасибо. вроде получилось. Только возник такой вопрос. У QWidget есть слот repaint. Он возможно используется для перерисовки. Но я у QDialog (наследника QWindow) хочу создать слот с этим же именем. Что произойдет если кто-то подпишется на этот слот. Будет вызван мой или QWidget - это же не виртуальный слот. Есть подозрение, что будет обычное перекрытие метода. Нужно ли тогда предпринять какие действия, для вызова QWidget::repaint ? |
|
|
Litkevich Yuriy |
20.8.2009, 10:07
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
zss |
20.8.2009, 10:12
Сообщение
#5
|
Участник Группа: Участник Сообщений: 112 Регистрация: 9.6.2009 Пользователь №: 815 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
kwisp |
20.8.2009, 10:15
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Он возможно используется для перерисовки. не возможно а 100% Но я у QDialog (наследника QWindow) хочу создать слот с этим же именем. уважаемый вы что китайский коммунист? сами придумываете трудности и сами преодолеваете? шутка. вообще такое не рекомендуется. при чем тут виртуальный слот или нет? |
|
|
Litkevich Yuriy |
20.8.2009, 10:17
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
kwisp |
20.8.2009, 10:25
Сообщение
#8
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
еслиб был виртуальный, то вызывался бы слот объекта при соединении с ним. (в случае его существования) ни че не понял. функции и методы можно переопределять и без виртуальных "примочек". вообще такие вопросы каверзные лучше проверять тестами что и как вызовется соберется ли без ошибок и предупреждений не будет ли ругаться moc при выполнение программы и прочее. надо посмотреть код Qt что там используется при вызове слота по соединению указатель на QObject или преобразованный указатель на верхний по иерархии класс содержащий Q_OBJECT. я думаю скорее всего 2. следовательно если и вызовется то вызовется переопределенный слот. опять же тест все покажет. однако зачем и кому надо в этом разбираться? |
|
|
Текстовая версия | Сейчас: 22.12.2024, 11:54 |