[Solved]Why does restoreGeometry return false?
-
I have an application that saves its window state on shutdown using saveGeometry, and restores them on startup using restoreGeometry, all persisted using QSettings.
This aspect works just fine.
However, I'm now trying to implement the ability to restore the application to its 'default' state via a menu action. What I'm finding is that when the application is in the state where I'm trying to do this, restoreGeometry returns false.
I'd guess that this is the expected behavior, but if that's the case, how can I cause my widget to re-layout its components after it has already been displayed?Thanks.
-
Hi there, I have absolutely no problem in achieving what you're setting out to do, but I'm using restoreState(). Example snippets:
@
/* On first run, save the default settings to the registry/ini/xml. */
QSettings settings( ORGANISATION, APPLICATION );if( !settings.contains( "defaultState" ) )
{
settings.setValue( "defaultState", saveState() );
}
@And then simply connect your action to a slot such as:
@
void MainWindow::restoreDefaults()
{
QSettings settings( ORGANISATION, APPLICATION );
restoreState( settings.value( "defaultState" ).toByteArray() );
}
@ -
Good stuff! :)
Please edit your original post and mark the thread as "Solved" ;)