Hi,
ich habe in einer Applikation eine Spezialisierung eines QMainWindow welches in einer privaten Membervariable einen Pointer auf eine Spezialisierung eines QDialog hält. Über das Menü des QMainWindow kann dann die GUI des QDialog aufgesetzt werden, danach kann der Nutzer aber keinen weiteren dieser Dialoge öffnen. Jetzt hätte ich gerne, dass der Dialog, sobald seine GUI geschlossen wird, ebendieses meldet und man danach wieder einen Dialog öffnen kann. Dazu würde ich dann sobald der Dialog und seine GUI aufgesetzt werden das entsprechende SIGNAL vom Schließen der GUI des Dialogs mit einer Methode (SLOT) in meinem MainWindow verschrauben, so dass wieder ein Dialog geöffnet werden kann. Ich habe es mit dem destroyed() Signal der Spezialisierung der Dialog-Klasse versucht, doch leider klappt das nicht. In der Doku habe ich auch kein anderes passendes Signal gefunden. Weiß evtl jemand welches Signal ich nutzen muss bzw was ich falsch mache oder was man anders machen sollte?
Vielen Dank im Voraus!
Schließen der GUI eines QDialog melden
Falls das so gedacht ist, dass während dem offenen QDialog keine Eingaben im MainView gemacht werden können, kannst du dies auch gratis mit einem modalen QDialog (setModal()) und parent=MainView haben..Über das Menü des QMainWindow kann dann die GUI des QDialog aufgesetzt werden, danach kann der Nutzer aber keinen weiteren dieser Dialoge öffnen.
"close()" ist (sinnvollerweise) in Qt eigentlich nur ein "hide()". Das Objekt bleibt weiterhin bestehen. Daher: kein destroyed()... Aber du könntest ja in "void closeEvent (QCloseEvent * event)" problemlos selbst ein Signal werfen.. oder einfach das Verhalten des Dialoges ändern(close=delete.. siehe http://doc.trolltech.com/4.5/qt.html#Wi ... ibute-enum)Ich habe es mit dem destroyed() Signal der Spezialisierung der Dialog-Klasse versucht
hth..