[gelöst] Dialog schließt MainWindow

Alles rund um die Programmierung mit Qt
Antworten
hbc
Beiträge: 22
Registriert: 23. Februar 2007 09:40
Wohnort: Berlin

[gelöst] Dialog schließt MainWindow

Beitrag von hbc »

Hallo,

in meiner Anwendung sollen mehrere Dialoge aufgerufen werden um bestimmte Eingaben zu erhalten.
Nun das Problem, ein Dialog schließt nicht nur sich selbst sondern auch das mainWindow, beim betätigen des ok Butten und des cancelButton.
folgenden Code habe ich verwendet:

Aufruf:

Code: Alles auswählen

connect(actionAdressbuch, SIGNAL(triggered(bool)), this, SLOT(AB()));
Slot:

Code: Alles auswählen

void MainWindowImpl::AB()
{
	Adressbuch adresse;
	adresse.exec();
	
}
und die Adressbuch.cpp

Code: Alles auswählen

#include "Adressbuch.h"
//
Adressbuch::Adressbuch( QWidget * parent, Qt::WFlags f) 
	: QDialog(parent, f)
{
	setupUi(this);
	connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));
    connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
	connect(SpeichernButton, SIGNAL(clicked()), this, SLOT(Speichern()));
}

void Adressbuch::Speichern()
{
	
}
was ist da falsch??
Zuletzt geändert von hbc am 28. Juni 2007 21:51, insgesamt 1-mal geändert.
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

Das Problem liegt vermutlich eher in der Instanzierung deines MainWindows. Im Code den Du angegeben hast, kann ich beim drüberfliegen keinen Fehler finden.
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
@udisello
Beiträge: 50
Registriert: 19. März 2007 14:58
Wohnort: Sachsen

Beitrag von @udisello »

Bin mir nicht sicher, aber vielleicht hilft

Code: Alles auswählen

Adressbuch adresse( this ); 
statt

Code: Alles auswählen

Adressbuch adresse; 
MfG @udisello

Qt Version 4.3.0, MS VS 2005
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Das würde ich auf keinen Fall machen:
Adressbuch adresse( this );
Und @udisello empfehle ich dringend die Doku zu QObject...
@udisello
Beiträge: 50
Registriert: 19. März 2007 14:58
Wohnort: Sachsen

Beitrag von @udisello »

Begründung? Warum kann ich nicht das Widget, in dem sich die QAction befindet als Parent an den Konstruktor des Dialogs übergeben?
MfG @udisello

Qt Version 4.3.0, MS VS 2005
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Beitrag von MichaelS »

QApplication hat eine Methode quitOnLastWindowClosed, die durchaus für ein überraschendes Programmende gut ist.

Hier der Auszug aus der Qt-Doku:
If this property is true, the applications quits when the last visible primary window (i.e. window with no parent) with the Qt::WA_QuitOnClose attribute set is closed. By default this attribute is set for all widgets except transient windows such as splash screens, tool windows, and popup menus
Diese Eigenschaft ist standardmäßig aktiviert. Deaktiviere die Eigenschaft doch einfach mal

Code: Alles auswählen

setQuitOnLastWindowClosed( false).
[/i]
hbc
Beiträge: 22
Registriert: 23. Februar 2007 09:40
Wohnort: Berlin

Beitrag von hbc »

Danke für die Antworten, aber leider hat alles nicht geklappt, auch die Deaktivierung von quitOnLastWindowClosed hat kein Veränderung bewirkt :( , hat jemand noch eine Idee woran es liegen könnte?
hbc
Beiträge: 22
Registriert: 23. Februar 2007 09:40
Wohnort: Berlin

Beitrag von hbc »

Ich habe das Problem durch neu erstellen des Dialoges beseitigt, woran es lag, dass es beim ersten mal nicht funktionierte kann ich nicht nachvollziehen.
Antworten