hallo leute,
habe ein kleineres problem. ich habe ein dialog mit feldern die unbedingt vollständig sein müssen.
ich führe den dialog mit if(dlg.exec() == QDialog::Accepted) aus. in diesem block findet eine überprüfung ger gültigkeit der einträge. nun wie kann ich ein dialog hierbei geöffnet lassen falls die einträge unvollständig sind?
danke!
qdialog geöffnet lassen
Hi chemstar,
eine Möglichkeit wäre, wenn du dies nicht in der Klasse machst, in der du dein Dialog aufrufst, sondern direkt in deiner Dialog Klasse.
Dafür musst du zuerst das clicked() Signal des OK-Buttons mit einer SLOT Funktion abfangen. Nach deiner Überprüfung in dieser SLOT-Funktion kannst du dann mit accept() bestätigen und dein Dialog beenden.
Mit Qt 4.1.3:
In deiner Dialog Header Datei:
In deiner Dialog CPP Datei:
Falls Eingaben nicht ok sind, wird demnach accept() nicht aufgerufen und es gescheiht nichts -> dein Dialog bleibt weiterhin offen.
Hoffe dieser Ansatz hilft ein wenig, ansonsten wieder melden.
Gruess
bigmil
eine Möglichkeit wäre, wenn du dies nicht in der Klasse machst, in der du dein Dialog aufrufst, sondern direkt in deiner Dialog Klasse.
Dafür musst du zuerst das clicked() Signal des OK-Buttons mit einer SLOT Funktion abfangen. Nach deiner Überprüfung in dieser SLOT-Funktion kannst du dann mit accept() bestätigen und dein Dialog beenden.
Mit Qt 4.1.3:
In deiner Dialog Header Datei:
Code: Alles auswählen
private slots:
void on_okDlg_clicked(); // okDlg ist der Objektname des OK-Pushbuttons
Code: Alles auswählen
void MyDlg::on_okDlg_clicked()
{
... // hier überprüfe deine Eingaben
if( Eingabe == OK )
accept(); // Falls Eingabe ok, Dialog mit accept verlassen
}Hoffe dieser Ansatz hilft ein wenig, ansonsten wieder melden.
Gruess
bigmil
Falls den Thread jemand anderes rauskramt:
done(int r) reimplentieren ist die Lösung.
Quelle:
http://www.qtcentre.org/forum/f-qt-prog ... -8048.html
(ich hoffe es verstößt gegen keine Forenregeln Links zu anderen Foren zu posten.
)
done(int r) reimplentieren ist die Lösung.
Quelle:
http://www.qtcentre.org/forum/f-qt-prog ... -8048.html
(ich hoffe es verstößt gegen keine Forenregeln Links zu anderen Foren zu posten.