Название: Связь дочернего и родительского окна Отправлено: sasha111 от Сентябрь 09, 2010, 13:05 Имею 2 формы, родительскую и дочернюю, хочу сделать чтоб по клику на кнопке в дочернем окне, в родительском окне поменялся текст в label. Перерыл весь инет(((
Название: Re: Связь дочернего и родительского окна Отправлено: Denjs от Сентябрь 09, 2010, 13:13 надо: читать про сигнал слоты.
http://qtdocs.narod.ru/4.1.0/doc/html/signalsandslots.html http://www.qtinfo.ru/signalsandslots надо: читать Qt Assisant. надо: смотреть и разбирать демы и примеры в комплекте с QT http://qtdocs.narod.ru/4.1.0/doc/html/tutorial-t2.html http://qtdocs.narod.ru/4.1.0/doc/html/tutorial-t5.html Потом если будет что не понятно - задавайте вопросы. Название: Re: Связь дочернего и родительского окна Отправлено: developer от Сентябрь 09, 2010, 17:03 Допустим у тебя есть парент виджет, который генерит дочерний виджет. Тогда дочернему виджету передай ссылку на парента.
где-то так: //In child widget QWidget* parentWidget; void funct(QWidget* parent){ parentWidget = parent; connect(pushButton, SIGNAL("clicked()"), parent, changeLabel()); } void changeLabel(){ parentWidget->changeLabel("Any text you want"); } Ето псевдокод, но надеюсь идея понятна Название: Re: Связь дочернего и родительского окна Отправлено: Denjs от Сентябрь 09, 2010, 17:14 а если правильнее то - надо генерировать сигнал с сигнатурой типа mySignal(QString).
т.е. Код: void childWidget::obButtonClickSlot() Этот сигнал предварительно подключить к слоту QLabel::setText(QString). Код: QObject::connect(childWidgetObject,SIGNAL(mySignal(QString)), parenWidgetQLabel, SLOT(setText(QString)); |