Seite 1 von 1

[gelöst] Qwidget -> QDialog

Verfasst: 27. Februar 2008 14:18
von otternase
Hallo

ich steh irgendwie auf dem Schlauch, wie mache ich folgendes:

a) ich lade aus einer ui-Datei einen Dialog:

Code: Alles auswählen

     QUiLoader loader;
     QFile file("temp.ui");
     file.open(QFile::ReadOnly);
     QWidget *myWidget = loader.load(&file, 0);
     file.close();
b) und will anschliessend abhängig vom Signal beim Schliessen unterschiedliche Aktionen auslösen:

Code: Alles auswählen

if (myWidget->exec() == QDialog::Accepted)
	{
... ...
		return true;
	}
else
	{
		return false;
	} 
Ich bekomme jedoch die Fehlermeldung, dass QWidget nicht über den Member exec() verfügt, ist ja auch richtig.

QUiLoader.load(&file, 0);
liefert jedoch keinen QDialog zurück, auch wenn im ui-File ein Dialog definiert wurde, jedenfalls führt diese Zeile

Code: Alles auswählen

QDialog *myDialog=loader.load(&file, 0);
zu der Fehlermeldung

invalid conversion from ‘QWidget*’ to ‘QDialog*’

Wie mache ich es nun richtig?

Verfasst: 27. Februar 2008 14:42
von VuuRWerK
qobject_cast<T>

Gut Schuß
VuuRWerK ;)

Verfasst: 12. März 2008 10:18
von otternase
Danke, das klappt wunderbar!