Здравствуйте, гость ( Вход | Регистрация )
|
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, сигнал должен посылать тот класс в котором этот сигнал есть, т.е. checked_dist_measure(bool is_press) из QTrackWidget
Цитата(AD @ 15.1.2009, 17:18) Link Чтобы не быть голословным, вот небольшой примерчик кода: кто такой measureAction в этом примере?
|
|
|
|
|
AD |
15.1.2009, 15:30
Сообщение
#3
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17
|
Цитата(Litkevich Yuriy @ 15.1.2009, 15:11) Link кто такой 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:05) Link м... а потом сделать указатель на главное окно программы в том виджете и вызвать указанный слот? Или я опять что-то путаю? вот видишь ты путаешь а я вообще не пойму.... напиши поподробнее что хочешь сделать. помогу чем могу. |
|
|
|
|
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, 14:18
spirit можно создать сигнал в наследуемом виджете , а пот... 15.1.2009, 14:21
Litkevich Yuriy Цитата(spirit @ 15.1.2009, 17:21) можно с... 15.1.2009, 14:29
AD Сделал вот так вот:
class QTrackWidget: public... 15.1.2009, 14:52
spirit а Q_OBJECT где? 15.1.2009, 14:55
AD Цитата(spirit @ 15.1.2009, 14:55) а Q_OBJ... 15.1.2009, 14:58
spirit void TLV::measureDistance(bool is_meas... 15.1.2009, 15:02
AD Цитата(spirit @ 15.1.2009, 15:02) void TL... 15.1.2009, 15:04
spirit вот еть код
void TLV::measureDistance... 15.1.2009, 15:09
AD Цитата(spirit @ 15.1.2009, 16:34) т.е. ие... 15.1.2009, 16:35
spirit я понял. "карта" обрабатывает клик в кон... 15.1.2009, 16:40

AD Цитата(spirit @ 15.1.2009, 16:40) я понял... 15.1.2009, 16:44

spirit вы меня не поняли.
ЦитатаКлик обратывается в конт... 15.1.2009, 16:52
AD Вот скрин:
Задача у меня следующая. При нажатии н... 15.1.2009, 16:41
Litkevich Yuriy Цитата(AD @ 15.1.2009, 17:18) Такая ситуа... 15.1.2009, 16:44
kwisp Цитата(Litkevich Yuriy @ 15.1.2009, 16:44... 15.1.2009, 16:54
AD Блин, ну не попадает он в этот слот. Как поправить... 15.1.2009, 17:21
SABROG Цитата(AD @ 15.1.2009, 16:44) сигнал...со... 15.1.2009, 16:53
Litkevich Yuriy Цитата(AD @ 15.1.2009, 20:21) в этот слот... 15.1.2009, 17:37
AD Цитата(Litkevich Yuriy @ 15.1.2009, 17:37... 15.1.2009, 17:42
Litkevich Yuriy Цитата(AD @ 15.1.2009, 20:42) но что надо... 15.1.2009, 17:45
kwisp Цитата(Litkevich Yuriy @ 15.1.2009, 17:45... 15.1.2009, 17:53
Litkevich Yuriy AD, ты всех запутал своими примерами. Если у тебя ... 15.1.2009, 17:56
AD Цитата(Litkevich Yuriy @ 15.1.2009, 17:56... 15.1.2009, 18:03
kwisp что в студии компилятор не запускается уже из кома... 15.1.2009, 18:08
Litkevich Yuriy Цитата(AD @ 15.1.2009, 21:03) Этот класс ... 15.1.2009, 18:13
AD /// Класс виджета карты с траектории
class QTrackW... 15.1.2009, 18:18
spirit судя по коду этого сигнала checked_dist_measure не... 15.1.2009, 18:28

AD Цитата(spirit @ 15.1.2009, 18:28) судя по... 15.1.2009, 18:29

spirit Цитата(AD @ 15.1.2009, 17:29) Цитата(spir... 15.1.2009, 18:38
kwisp TLV::TLV
{
connect(trackView, SIGNAL... 15.1.2009, 18:28
spirit или компилябельный пример прикрепи
ЗЫ. в студии ... 15.1.2009, 18:18
Litkevich Yuriy AD, отредактируй свой пост, чтобы показать в класс... 15.1.2009, 18:30
Litkevich Yuriy Цитата(kwisp @ 15.1.2009, 21:28) почему т... 15.1.2009, 18:42
AD Эврика, заработало!
Litkevich Yuriy, kwisp, ... 15.1.2009, 18:51![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 16.12.2025, 10:59 |