Seite 1 von 1

DockWidget schliesen und CheckBox->setChecked(false)

Verfasst: 17. Juni 2010 13:26
von AndiLatte
Hallo,

mit einer CheckBox öffne/schließe ich DockWidget. Funzt
Wie muss ich das die checkBox mit dem DockWidget connecten, damit die CheckBox auf false gesetzt wird, wenn ich das DockWidget über das "x" (oben rechts) schließe.

Der angefügte Code führt es leider nicht aus.

Code: Alles auswählen

.....
connect(dock, SIGNAL(destroyed(QObject*)), this, SLOT(test()));
....
}

void MainWindow::test()
CheckBox->setChecked(false);
}

Verfasst: 17. Juni 2010 13:51
von Mani99
Ich würde eher das signal

Code: Alles auswählen

visibilityChanged(bool)
verwenden (siehe doku zu dockwidget).

Code: Alles auswählen

.....
connect(dock, SIGNAL(visibilityChanged(bool)), this, SLOT(test(bool)));
....
}

void MainWindow::test(bool state)
CheckBox->setChecked(state);
} 

Verfasst: 17. Juni 2010 15:26
von N¤X
Ich wollte mir sowas auch mal selbst basteln, bis ich irgendwann bemerkt hab, dass es sowas in der Art schon gibt.
QAction * QDockWidget::toggleViewAction() gibt dir nen Action zurück der genau dann gechecked ist, wenn dein Dockwidget sichtbar ist. Den Action kannst du direkt in ein Menü einbinden oder bestimmt auch irgendwie mit einer Checkbox oder einem ActionButton verbinden ;)