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