как родительский виджет может узнать о появлении дочерних сразу после их появления.
т.е. new MyClass(this);
где this указывает на eMClientForm
должен вызываться к.либо метод eMBaseForm
он посмотрит что за обьект добавлен на форму и в определенном случае произведет определенные манипуляции.
т.е. у меня есть диалоговое окно
class eMBaseForm : public QDialog
и
class eMClientForm : public eMBaseForm
в конструкторе eMClientForm я набрасываю компонентов
типа :
(class eMMyFieldEditor : public QWidget, public eMAbstractFieldEditor; )
и хочу чтобы при добавлении каждого вызывался некий метод определенный в eMBaseForm
извините что так путанно
т.е.
у меня сейчас конструктор формы вот такой
eMForeignIDFieldEditor * fid_group = new eMForeignIDFieldEditor(tr("Группа"),"group_client","group_id",this);
eMForeignIDFieldEditor * fid_surname = new eMForeignIDFieldEditor(tr("Фамилия"),"surname","surname_id",this);
eMForeignIDFieldEditor * fid_name = new eMForeignIDFieldEditor(tr("Имя"),"name","name_id",this);
eMForeignIDFieldEditor * fid_patronymic = new eMForeignIDFieldEditor(tr("Отчество"),"patronymic","patronymic_id",this);
eMForeignIDFieldEditor * fid_family_status = new eMForeignIDFieldEditor(tr("Семейное положение"),"family_status","family_status_id",this);
eMTextFieldEditor * tfe_phone = new eMTextFieldEditor(tr("Телефон"),"phone",this);
eMTextFieldEditor * tfe_phone_home = new eMTextFieldEditor(tr("Домашний телефон"),"phone_home",this);
eMTextFieldEditor * tfe_email = new eMTextFieldEditor(tr("email "),"email",this);
eMTextFieldEditor * tfe_work = new eMTextFieldEditor(tr("Место работы"),"work",this);
eMTextFieldEditor * tfe_post = new eMTextFieldEditor(tr("Должность"),"post",this);
eMTextFieldEditor * tfe_address_text = new eMTextFieldEditor(tr("Адрес"),"address_text",this);
component_vector.append(lc);
component_vector.append(fid_group);
component_vector.append(fid_surname);
component_vector.append(fid_name);
component_vector.append(fid_patronymic);
component_vector.append(fid_family_status);
component_vector.append(tfe_phone);
component_vector.append(tfe_phone_home);
component_vector.append(tfe_email);
component_vector.append(tfe_work);
component_vector.append(tfe_post);
component_vector.append(tfe_address_text);
QVBoxLayout * main = new QVBoxLayout(this);
main->addWidget(fid_group);
main->addWidget(fid_surname);
main->addWidget(fid_name);
main->addWidget(fid_patronymic);
main->addWidget(tfe_phone);
main->addWidget(tfe_phone_home);
main->addWidget(tfe_email);
main->addWidget(tfe_work);
main->addWidget(tfe_post);
main->addWidget(fid_family_status);
main->addWidget(lc);
main->addWidget(tfe_address_text);
я хочу чтобы тело конструктора выглядело бы так :
QVBoxLayout * main = new QVBoxLayout(this);
main->addWidget(new eMForeignIDFieldEditor(tr("Группа"),"group_client","group_id",this);
main->addWidget( new eMForeignIDFieldEditor(tr("Фамилия"),"surname","surname_id",this);
main->addWidget(new eMForeignIDFieldEditor(tr("Имя"),"name","name_id",this);
main->addWidget(new eMForeignIDFieldEditor(tr("Отчество"),"patronymic","patronymic_id",this);
main->addWidget(new eMForeignIDFieldEditor(tr("Семейное положение"),"family_status","family_status_id",this);
main->addWidget(new eMTextFieldEditor(tr("Телефон"),"phone",this);
main->addWidget(new eMTextFieldEditor(tr("Домашний телефон"),"phone_home",this);
main->addWidget(new eMTextFieldEditor(tr("email "),"email",this);
main->addWidget(new eMTextFieldEditor(tr("Место работы"),"work",this);
main->addWidget(new eMTextFieldEditor(tr("Должность"),"post",this);
main->addWidget(new eMTextFieldEditor(tr("Адрес"),"address_text",this);
как этого добится