ich bin ziemlich neu in der QT Programmierung, also nicht lachen
Ich schreibe gerade an einem kleinen Testtool, mit dem ich einen zusammengesetzten String über eine Schnittstelle verschicken möchte, der diese dann empfängt und weiterverarbeitet. Prinzipiell funktioniert dass schon ganz gut.
Mein Problem ist folgendes, ich habe im GUI ein paar QLineEdit Felder, aus denen der zu versendende String zusammengbastelt wird. Beim Druck auf einen Button wird dann das Versenden angestossen.
Die Slot-Funktion wird auch brav aufgerufen, ich kann den Inhalt des QLineEdit Feldes mit text() auslesen .. alles pippifein ..
1. Problem: es wird nur der Text, den ich testweise im Konstruktor meines 'mainWidgets' reingeschrieben hab auslesen, wenn ich nachträglich einfach was anders eingebe wird das ignoriert -> text() gibt immer den ursprünglichen Text zurück.
2. Problem: wenn ich in der Funktion den Text lösche (also clear() aufrufe) passiert dies zwar (also text().length() gibt 0 zurück) aber in GUI ist davon nichts zu sehn. Genauso verhält es sich, wenn ich mittels setText(String) was reinschreiben, im GUI passiert nix, aber die Feldlänge wird geändert.
meine SlotFunktiion mit einwenig sinnlosen DebugCode.
zur Erklärung: mein MainWidget ist die Klasse lvs_main.
Code: Alles auswählen
256 void comm::t_rpcexe() {
257 rpc * ser = new rpc("RPCSER", "NOWAIT");
258 lvs_main amw;
259 if ( ser->do_rpcini() )
260 if ( ( ser->do_rpcexe("700120060213120326594558 BDH3QSW UT 9-1 -1 -1") ) ) {
261 // TODO: Telegramm muss aus GUI kommen -> Strings zambasteln
262 cout << "rpcexe Tgm verschickt\n";
263 } else {
264 cout << "rpcexe fehlgeschlagen\n";
265 }
266 cout << "lineedit 1 text: \t" << amw.lineEdit1->text() << "\n";
267 QString *text = new QString("1234");
268 cout << "le text length \t " << amw.lineEdit1->text().length() << "\n" ;
269 amw.lineEdit1->clear();
270 cout << "le text length \t " << amw.lineEdit1->text().length() << "\n";
271 amw.lineEdit1->setText( *text );
272 cout << "le text length \t " << amw.lineEdit1->text().length() << "\n";
273 ser->do_rpccls();
274 delete ser;
275
276 } // t_rpcexe