Связка слота и сигнала разных объектов |
Здравствуйте, гость ( Вход | Регистрация )
Связка слота и сигнала разных объектов |
AD |
15.1.2009, 14:18
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Такая ситуация. Есть виджет отрисовки карты, который я переопределил (сделал наследника от QWidget). В нем есть слот, который определяется, когда я в контекстном меню нажимаю определенную галочку.
Каким образом мне определить слот в главном окне так, чтобы он реагировал на то же самое действие? Чтобы не быть голословным, вот небольшой примерчик кода:
|
|
|
Litkevich Yuriy |
15.1.2009, 15:11
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
AD |
15.1.2009, 15:30
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
кто такой measureAction в этом примере? Опция (QAction), которая включает нужный мне флажок. Цитата а нельзя ли сделать вот так?
А где ее вызывать? Еще раз: я тот слот вызываю всегда, когда у меня идет переключение опции. Мне бы хотелось, чтобы при этом же переключении вызывалась функция из другого класса. Как это можно реализовать? Заранее благодарен за помощь.... |
|
|
spirit |
15.1.2009, 15:35
Сообщение
#4
|
Студент Группа: Новичок Сообщений: 16 Регистрация: 13.1.2009 Из: Ukraine, Krivoy Rog Пользователь №: 486 Спасибо сказали: 1 раз(а) Репутация: 1 |
тогда этот сигнал надо перенести в TLV и тогда сделать так
|
|
|
AD |
15.1.2009, 16:05
Сообщение
#5
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
м... а потом сделать указатель на главное окно программы в том виджете и вызвать указанный слот? Или я опять что-то путаю?
|
|
|
kwisp |
15.1.2009, 16:09
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
AD |
15.1.2009, 16:31
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Есть галочка, которую я переключаю в контекстном меню в виджете карты. Необходимо, чтобы при переключении этой галочки, срабатывал слот в другом классе, классе главного окна, в котором содержится данный виджет.
|
|
|
spirit |
15.1.2009, 16:34
Сообщение
#8
|
Студент Группа: Новичок Сообщений: 16 Регистрация: 13.1.2009 Из: Ukraine, Krivoy Rog Пользователь №: 486 Спасибо сказали: 1 раз(а) Репутация: 1 |
т.е. иерархия классов такая: главный виджет -> карта ?
|
|
|
AD |
15.1.2009, 16:35
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
spirit |
15.1.2009, 16:40
Сообщение
#10
|
Студент Группа: Новичок Сообщений: 16 Регистрация: 13.1.2009 Из: Ukraine, Krivoy Rog Пользователь №: 486 Спасибо сказали: 1 раз(а) Репутация: 1 |
я понял. "карта" обрабатывает клик в контекстном меню или "главное окно"?
если "карта", то создать сигнал в "карте" и связать его с "главным окном", а уже в "главном окне" создать слот который будет дергать нужный слот "другого" класса. |
|
|
AD |
15.1.2009, 16:44
Сообщение
#11
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
Текстовая версия | Сейчас: 21.12.2024, 20:15 |