соединения слотов сигналов 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.

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

0

Решение

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

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

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

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector