bin ich auf das folgende Problem fest:qt C++ Signal Slot-Verbindungen für den Datenaustausch zwischen den Objekten
Ich habe ein QWidget namens PBVars mit vielen Line-Änderungen, die in durch eine Lese-Routine gefüllt sind. Jetzt möchte ich dem Benutzer die Möglichkeit geben, einige Felder zu bearbeiten, ohne alle Einträge löschen zu müssen. Dafür habe ich gedacht, einen neuen Dialog (genannt EGG) zu öffnen und alle Daten in EGG zu kopieren. Jetzt kann der Benutzer Daten ändern, klicken Sie auf "SaveValuesToGUI" und die Werte werden wieder in PBVars gespeichert. Das ist vielleicht eine Idee.
Ich konnte alle Daten von PBVars -> EGG lesen. Aber ich bin dabei, eine Signal-Slot-Verbindung von EGG -> PBVars herzustellen.
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);
}
Wo und wie kann ich die Verbindungs schreiben. Ich denke, es sollte ein wenig wie
connect( egg ???, SIGNAL(on_pb_sendValuesToPropBasic_clicked()),
this, SLOT(write_GGE_ToPBVars(qsl)));
, wo qsl den String mit den bearbeiteten Werten von Ei ist.
kann mir bitte jemand helfen? Vielen Dank !!
'on_pb_sendValuesToPropBasic_clicked' sieht aus wie ein Slot. Machen Sie ein Signal in Ihrer 'EGG'-Klasse wie' sendData (const QStringList & data) 'und geben Sie dieses Signal im 'on_pb_sendValuesToPropBasic_clicked'-Slot aus. Verbinden Sie dann dieses Signal mit Ihrem 'write_GGE_ToPBVars' Slot. Außerdem würde die Syntax folgendermaßen aussehen: 'connect (ei, SIGNAL (sendData (QStringList), dies, SLOT (write_GGE_ToPBVars (QStringList)));' – thuga
Verpasste eine schließende Klammer, sollte 'connect (ei, SIGNAL (sendData (QStringList)), dies, SLOT (write_GGE_ToPBVars (QStringList))); ' – thuga