Ich habe eine Drucktaste (pushButton_RenameTargets) und 3 Etiketten (label_Tar1ex, label_Tar2ex, label_Tar3ex) auf meinem Hauptformular mit Standard-Textwerten. Wenn ich den Knopf (pushButton_RenameTargets) drücke, wird ein Dialog erstellt (renametargets). Es hat drei Textbearbeitungszeilen (lineEdit_Target1, lineEdit_Target2, lineEdit_Target3). Wenn ich Namen in die drei Textbearbeitungszeilen eingebe und OK drücke, möchte ich die 3 Etiketten auf meinem Hauptformular aktualisieren.Wie man mehrere Variablen vom QT-Dialog an das Hauptfenster übergibt
besser beschrieben:
Wenn die Taste gedrückt wird:
void MainWindow::on_pushButton_RenameTargets_clicked()
{
RenameTargets renametargets;
renametargets.setModal(true);
renametargets.exec();
}
Es schafft das Dialogfenster renametargets.
Fenster hat drei Textbearbeitungszeilen (lineEdit_Target1, lineEdit_Target2, lineEdit_Target3).
Wenn die Schaltfläche OK gedrückt wird, speichere ich den Text in QString-Variablen.
void RenameTargets::on_buttonBox_TargetRename_accepted()
{
QString Target1NameInput = ui->lineEdit_Target1->text();
QString Target2NameInput = ui->lineEdit_Target2->text();
QString Target3NameInput = ui->lineEdit_Target3->text();
}
Fragen: (1) Wie kann ich den Text von QString Target1NameInput gesetzt (auf der zweiten Form befindet: renametargets) zu label_Tar1ex (auf Hauptformular befindet), als ich die OK-Taste auf dem Dialog drücken.
(2) Wie kann ich label_Tar1ex (im Hauptformular) anzeigen, um es auf einem Etikett in der zweiten Form anzuzeigen - namens label_CurrentName_Tar1ex.
Im Grunde ist dies ein Umbenennungsschema .....
Überprüfen Sie nach Ihrem exec-Aufruf die Ergebnisse der exec. Wenn es akzeptiert wird, können Sie auf die Objektvariable in renametargets zugreifen. Erklären Sie sie einfach als Variablen im Objekt, nicht in der Methode (wie Sie oben getan haben). –
Können Sie ein Beispiel veröffentlichen? – Scientized