2009-10-08 11 views
4

Existe-t-il un moyen facile d'ouvrir les boîtes de dialogue Qt dans la même position que lors de la dernière ouverture de l'application?
, c'est-à-dire préserver la position des boîtes de dialogue entre les sessions d'application?Comment contrôler la position de QDialog?

Par moyen facile Je veux dire ne pas avoir écrire manuellement la position de la fenêtre dans le fichier, puis lire :)

+0

vous dire quelque chose comme setGeometry sur QWidget? – Bob

Répondre

10

Vous pouvez utiliser la classe QSettings pour y parvenir. C'est une classe d'abstraction qui permet à vos applications de stocker ses paramètres afin de les récupérer au prochain lancement.

Enregistrer les paramètres:

QSettings settings("ValueName", "Value"); 

paramètres de Lire:

QString v = settings.value("ValueName"); 
+2

Il y a même un exemple de comment faire cela dans la documentation de Qt, à http://doc.trolltech.com/4.5/qsettings.html#restoring-the-state-of-a-gui-application – gnud

+0

Oui c'est sur la même page que la représentation de la classe QSettings –

3

Utilisez QSettings ainsi QWidget :: restoreGeometry() et QWidget :: saveGeometry().

2

Mieux vaut enregistrer boîte de dialogue-> pos(), dialog-> taille(), dialog-> isMaximized(), parce que dialog-> saveGeometry() ne maximise pas la fenêtre.

QSettings est le moyen preffered pour sauvegarder la configuration