Название: Не могу достучаться до родительского виджета! Отправлено: Martiro от Май 14, 2009, 13:20 Такая ситуация...
Приложение построено на базе MDI. При открытии документа создается дочернее окно на workspace (описанное в отдельном классе). На дочернем окне лежит виджет, который тоже описан в отдельном классе. В какой-то момент необходимо некоторое значение из этого виджета передать в главную форму на statusbar. Создание statusbar в MainWindow.cpp: Код
Отдаю значение из виджета следующим образом: Код В данном месте происходит Core dump... :( Что интересно, если вызывать функцию главного окна Код сообщение отсылается, но (!), если функция в главном окне такая: Код Консоль текст печатает. А если так: Код Опять вылетает с Core dump!!! ??? Помогите. ;D Название: Re: Не могу достучаться до родительского виджета! Отправлено: pastor от Май 14, 2009, 13:34 Покажи MainWindow.cpp\MainWindow.h
Название: Re: Не могу достучаться до родительского виджета! Отправлено: Martiro от Май 14, 2009, 13:50 Основные функции:
MainWindow.cpp Код
MainWindow.h Код
Название: Re: Не могу достучаться до родительского виджета! Отправлено: lit-uriy от Май 14, 2009, 15:08 а с чего ради ты родителю насильно, что-то суёшь?
Пошли сигнал. А вродителе соедени сигнал с соответствующим слотом. Название: Re: Не могу достучаться до родительского виджета! Отправлено: Martiro от Май 14, 2009, 15:34 никогда своих собственных сигналов не писал... хотел как-то без этого...
Название: Re: Не могу достучаться до родительского виджета! Отправлено: lit-uriy от Май 14, 2009, 15:39 >>никогда своих собственных сигналов не писал... хотел как-то без этого...
сигнал - всего лишь объявление функции. В объявлении класса BiContent пишешь: Код в обработчике события мыша: Код Ну а в главном окне, или где тебе нужно, делаешь свой слот с такой же сигнатурой (т.е. myClot(QString str) ) и соеденяешь сигнал со слотом Название: Re: Не могу достучаться до родительского виджета! Отправлено: Martiro от Май 14, 2009, 15:46 А коннект как в родителе прописывать?
Код Типо того? Правильно? Название: Re: Не могу достучаться до родительского виджета! Отправлено: lit-uriy от Май 14, 2009, 15:53 >>Правильно?
Нет! Имена аргументов у сигналов и слотов, в функции connect, НЕ указывают! См. Асистент, описание функции QObject::connect Название: Re: Не могу достучаться до родительского виджета! Отправлено: Martiro от Май 14, 2009, 15:55 Ясно. Поглядим.
И еще вопрос... Если таким образом реализовать, то нигде по памяти сигналы путаться не будут, если у меня несколько дочерних окон? Название: Re: Не могу достучаться до родительского виджета! Отправлено: lit-uriy от Май 14, 2009, 16:05 >>то нигде по памяти сигналы путаться не будут, если у меня несколько дочерних окон?
ты связываешь конкретный сигнал, конкретного объекта со стольже конкретной точкой назначения. Если сам ни чего не напутаешь, то всё будет путём. П.С. твоя здоровенная картинка в подписи, не интересна, но занимает много места и недостаточно быстро загружается. Название: Re: Не могу достучаться до родительского виджета! Отправлено: ритт от Май 14, 2009, 17:10 [off]не согласен - картинка интересна...хотя бы даунлоадом :)
но картинку попросил бы убрать - действительно, раздражает...[/off] Название: Re: Не могу достучаться до родительского виджета! Отправлено: Martiro от Май 15, 2009, 07:49 Спасибо всем. Замечания учту. :)
|