сигналы и слоты, передача указателя на мой объект |
Здравствуйте, гость ( Вход | Регистрация )
сигналы и слоты, передача указателя на мой объект |
kwisp |
4.3.2009, 16:48
Сообщение
#31
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
SABROG |
4.3.2009, 17:05
Сообщение
#32
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Я думал над этим, но разницы нет, т.к. тут явно вызывается метод базового класса QObject, также как мы вызываем QWidget::paintEvent(event); или QWidget::mousePressEvent(event); внутри наших обработчиков.
Я предлагаю посмотреть что на это пишет дебаггер и соответственно собрать программу в debug режиме. |
|
|
kuler |
4.3.2009, 17:09
Сообщение
#33
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
еще вопрос. почему так пишешь? ну это все имеет одно и тоже значение, просто что первое на ум взбрело где соединение с этим слотом on_aDelPlot_triggered()?? Я предлагаю посмотреть что на это пишет дебаггер и соответственно собрать программу в debug режиме. в какой момент? |
|
|
SABROG |
4.3.2009, 17:19
Сообщение
#34
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
В момент работы программы. Просто запускаешь её, жмахаешь по кнопочкам, чтобы дошло до момента, где sender() на ноль проверяется и смотришь в консоль, нету ли там ругательств.
|
|
|
kuler |
4.3.2009, 17:28
Сообщение
#35
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
|
|
|
kwisp |
4.3.2009, 17:33
Сообщение
#36
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
kuler,
попробуй тест написать. одно соединение автоматическое одно ручное. отправитель один и тотже получатель тот же но разные слоты один соединен автоматически другой ручками. и посмотри что дает sender() в этих двух случаях. |
|
|
Litkevich Yuriy |
4.3.2009, 18:11
Сообщение
#37
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
еще вопрос. почему так пишешь? Цитата(kuler @ 4.3.2009, 14:57) QObject* object = QObject::sender(); ну это все имеет одно и тоже значение, просто что первое на ум взбрело а вто и нет, метод QObject * QObject::sender () const не статический, и что он должен вернуть применительно к этому слоту?
|
|
|
SABROG |
4.3.2009, 18:15
Сообщение
#38
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
еще вопрос. почему так пишешь? Цитата(kuler @ 4.3.2009, 14:57) QObject* object = QObject::sender(); ну это все имеет одно и тоже значение, просто что первое на ум взбрело а вто и нет, метод QObject * QObject::sender () const не статический, и что он должен вернуть применительно к этому слоту?Дык ежели это вызывается внутри класса наследника QObject'a, скажем в QWidget'e, то это всего-лишь вызовет метод sender() базового класса. Другое дело, если бы в таком виде вызывалось откуда-нибудь из блока main. |
|
|
kwisp |
4.3.2009, 18:19
Сообщение
#39
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
а вто и нет, метод QObject * QObject::sender () const не статический, и что он должен вернуть применительно к этому слоту? не согласен. я спросил лишь потому что обычно так не пишут. на самом деле это одно и тоже. Form наследник QObject и ему доступны его методы и этим способом тоже. док-во это то что в первом слоте все нормально. З.Ы просто если вдруг не знали еще можно статические методы вызывать так:
& так
Сообщение отредактировал kwisp - 4.3.2009, 18:22 |
|
|
Текстовая версия | Сейчас: 30.11.2024, 6:41 |