Ich habe in einem Programm folgende Situation:
Ein QMainWindow mit einer QMdiArea als CentralWidget. Dieser QMdiArea füge ich per addSubWindow() Objekte hinzu die von QMdiSubWindow abgeleitet sind und über eine UI verfügen (UI-Datei vom Designer).
Vorher waren die Objekte von QWidget abgeleitet und da gabs auch keine Probleme, allerdings funktionierte da die Wiederherstellung der Größen und Positionen der Fenster nicht richtig.
Jetzt das Problem:
Wenn ich nun im Programm so ein SubWindow öffne, wird die komplette UI völlig in der oberen linken Enke zusammengeschoben und ist so völlig unbrauchbar.
Im Ausgabefenster kommt dabei diese Warnung :
Code: Alles auswählen
QLayout: Attempting to add QLayout "" to reports::CViewCommissioningReports "CViewCommissioningReportsClass", which already has a layoutSo wars vorher:
Code: Alles auswählen
CViewxxxx::CViewxxxx(QWidget *parent)
: QMdiSubWindow(parent)
{
// UI einrichten
ui.setupUi(this);
...
}Und so mit dem Workaround:
Code: Alles auswählen
CViewxxxx::CViewxxxx(QWidget *parent)
: QMdiSubWindow(parent)
{
QWidget* widget = new QWidget(parent);
// UI einrichten
ui.setupUi(widget);
this->setWidget(widget);
...
}
Jetzt suche ich nach einer Möglichkeit die QMdiSubWindows mit UI verwenden zu können und gleichzeitig aber auch die Funktionialität der Auto-Connects nicht zu verlieren.
Weiß da jemand Rat? Wäre für jede Art Hilfe dankbar!
Gruß,
Christian