Auszug aus meinem MainWindow
Code: Alles auswählen
QDockWidget *m_meinWidget;
void initDockWidget(QDockWidget *widget, QString sTitle);
void toggleVisibility(QDockWidget *widget, bool bSwitch);
Code: Alles auswählen
initDockWidget(m_meinWidget, "Titel");
Code: Alles auswählen
widget = new QDockWidget(this, sTitle);
widget->hide();
Code: Alles auswählen
toggleVisibility(m_meinWidget, "true");
Code: Alles auswählen
if (bSwitch == "true")
widget->show();
else
widget->hide();
Ich hab zwar schon im meinem QT Buch das Kapitel "Speicherverwaltung von Objekten" durchgelesen, weiß aber trotzdem nicht, was ich hätte anders machen sollen.Der Prozess wurde nach Erhalt eines Signals vom Betriebssystem angehalten.
Name des Signals: SIGSEGV
Bedeutung: Segmentation fault
Ich denke, dass ich bei der Übergabe des Pointers auf das DockWidgets in die toggle-Funktion etwas falsch mache, denn, wenn ich in der "initDockWidget" nach dem "hide()" die Methode "isVisible()" aufrufe, bekomme ich ein "false" zurück.
Rufe ich "isVisible" aber in der "toggleVisibility()" vor dem "show()" auf, bekomme ich ein "true" zurück.
Bitte um Hilfe.[/code]