Как отправить дополнительные данные слоту? |
Здравствуйте, гость ( Вход | Регистрация )
Как отправить дополнительные данные слоту? |
BRE |
19.4.2010, 15:16
Сообщение
#11
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Я бы добавил для проверки:
|
|
|
smackthat |
19.4.2010, 15:31
Сообщение
#12
|
Студент Группа: Новичок Сообщений: 15 Регистрация: 18.10.2009 Пользователь №: 1163 Спасибо сказали: 0 раз(а) Репутация: 0 |
Оказалось, что вылетает на этой строке:
непойму почему. Неужели фрейм не возвращается? Код ошибки E:\dev\win\12345\debug\12345.exe exited with code -1073741819 Я бы добавил для проверки:
попробывал, но при компиляции получил ошибку:
|
|
|
BRE |
19.4.2010, 15:48
Сообщение
#13
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
kwisp |
19.4.2010, 15:56
Сообщение
#14
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Почему... нужно разбираться, возможно сигнал отсылается не самим объектом QWebFrame. непонятно. это как? может слот-обработчик вызывается не через сигнально-слотное соединение, а напрямую, как обычный метод через object->method()? П.С. проверка qobject_cast<QWebFrame*>(sender()) на ноль обязательно нужна т.к. слот можно вызвать как обычный метод. |
|
|
BRE |
19.4.2010, 16:25
Сообщение
#15
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
kwisp |
19.4.2010, 17:11
Сообщение
#16
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
BRE,
а понял. ты имеешь ввиду что он в приведении qobject_cast<QWebFrame*>(QObject::sender()) c типом к которому приводит(QWebFrame*) не угадал. ну можно проверить просто QObject::sender() на ноль, если не ноль значит объект есть который сигнал высылал уже что то. хотя я сомневаюсь что он с типом не угадал, скорее всего вызывает слот без вызова сигнала. |
|
|
BRE |
19.4.2010, 17:20
Сообщение
#17
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
BRE, а понял. ты имеешь ввиду что он в приведении qobject_cast<QWebFrame*>(QObject::sender()) c типом к которому приводит(QWebFrame*) не угадал. ну можно проверить просто QObject::sender() на ноль, если не ноль значит объект есть который сигнал высылал уже что то. хотя я сомневаюсь что он с типом не угадал, скорее всего вызывает слот без вызова сигнала. Для проверки можно подробно расспросить сам объект "а кто он такой", с помощью QMetaObject.
|
|
|
Litkevich Yuriy |
19.4.2010, 17:22
Сообщение
#18
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Я бы добавил для проверки: вообще проверку обязательно надо делать, это я для краткости написал.Я обычно делаю так:
|
|
|
smackthat |
22.4.2010, 20:47
Сообщение
#19
|
Студент Группа: Новичок Сообщений: 15 Регистрация: 18.10.2009 Пользователь №: 1163 Спасибо сказали: 0 раз(а) Репутация: 0 |
Litkevich Yuriy, BRE, kwisp
Господа, большое вам спасибо! Как оказалось, сигнал отправлялся не QWebFrame, а QWebView. Теперь же благополучно достается вся нужная инфа (url и html-код странички). Дополнительную информацию (которую я хотел отпровлять вместе с сигналом), о том, что делать с страничкой собираюсь хранить в структуре типа map. Ключем будет url, а данными - описание (что делать страничкой). |
|
|
Текстовая версия | Сейчас: 30.11.2024, 12:55 |