Ich habe zwei Formulare, das Hauptformular, das ein Dialogfeld öffnet, das ein Textfeld enthält. Wie kann ich den Text aus dem Textfeld zurück an das Hauptformular übergeben? Ich habe viele verschiedene Methoden ausprobiert, aber ich denke, ich vermisse etwas Einfaches. Danke für jede Hilfe.Übergeben von Variablen von einem Formular zum anderen in Qt
4
A
Antwort
3
Das Dialogfeld ist nach dem Schließen noch vorhanden. So können Sie, aus der Hauptform, etwas tun, wie folgt aus:
QString text = subform->textEdit->text();
Dies setzt voraus, Ihre Dialogfeld ist subform
und der Name, den Sie den Text bearbeiten Feld gab, ist textEdit
. Stellen Sie sicher, dass Sie textEdit
im Designer veröffentlichen. Wenn Sie textEdit
nicht öffentlich machen möchten, können Sie einen Getter zu subform
hinzufügen.
0
Wenn Sie das Muster verwenden, erstellen Sie das Modellobjekt (Container für Ihre Daten) und übergeben es an das Textfeld, um den Textwert selbst einzugeben. Wenn der Dialog geschlossen ist, lesen Sie einfach den Wert aus dem Modell und legen Sie ihn dort ab, wo Sie ihn benötigen.
Dies ist im Grunde, was ich gerade herausgefunden habe, ich habe es richtig gemacht..Ich "nur" den richtigen Weg "vergessen", um C++ - Funktionen innerhalb von Klassen zu machen. Ich habe QString getValue() anstelle von QString MainForm :: getValue() gemacht. – whatWhat