Соединения слотов сигналов qt C++ для обмена данными между объектами

Я застрял на следующей проблеме:

У меня есть QWidget с именем PBVars с множеством правок, которые заполняются процедурой чтения. Теперь я хочу дать пользователю возможность редактировать некоторые поля без необходимости удалять все записи. Для этого я подумал открыть новый диалог (названный EGG) и скопировать все данные в EGG. Теперь пользователь может изменять данные, нажимая "SaveValuesToGUI", и значения сохраняются обратно в PBVars. Это может быть идея.

Мне удалось прочитать все данные из PBVars -> EGG. Но я застрял в создании соединения "сигнал-слот" обратно из EGG -> PBVars.

PBVars.h:

...    
EGG *   egg ;

PBVars.cpp:

PBVars::PBVars(QWidget *parent) :
Tab(parent), ui(new Ui::PBVars)
{
 ....      
 egg = new EGG();
 }

  void PBVars::on_but_EditGeometry_clicked()
  {  ...
     // fill Values_from_PBVars here
     egg->show();
     egg->setLneEdits(Values_from_PBVars);
   }

Где и как мне написать соединение. Я думаю, что это должно быть чем-то вроде

  connect(  egg ???, SIGNAL(on_pb_sendValuesToPropBasic_clicked()), 
        this, SLOT(write_GGE_ToPBVars(qsl) ));

где qsl - Stringlist с отредактированными значениями egg.

Кто-нибудь может мне помочь, пожалуйста? Спасибо!!

1 ответ

Если вы хотите, чтобы ваши соединения передавали данные, вы должны иметь соответствующие параметры в сигнале и слоте:

void someSignal(int)
...
void someSlot(int i) { ...use i here... }

И фактический параметр указывается при излучении сигнала emit someSignal(someInt),

Другие вопросы по тегам