2017-04-25 4 views
1

J'essaie d'utiliser QSettings sur mon code, mais cela ne fonctionne pas correctement. Mon code est:QSettings tâche simple ne fonctionne pas

In Mainwindow.h 
QSettings settings 

(j'ai déclaré avant tout setOrganizationName setOrganizationDomain setApplicationName)

In Mainwindow.cpp 
settings.setValue("smtp/email", "test"); 
qDebug() << settings.value("smtp/email").toString(); 

Mais le qDebug me retourne ""

Je crois qu'il est une utilisation simple de QSettings mais cela ne fonctionne pas.

+1

Vous devrez peut-être appeler ['settings.sync()'] (http://doc.qt.io/qt-5/qsettings.html# sync) pour s'assurer que toutes les données ont été écrites avant de les lire. –

+0

@ G.M. J'ai peur qu'il donne la même erreur –

Répondre

2

Pour des raisons d'efficacité, il se peut que les modifications ne soient pas enregistrées immédiatement en stockage permanent. (Vous pouvez toujours appeler sync() pour valider vos modifications.)

+0

J'ai peur qu'il donne la même erreur –

+0

Essayez de donner le nom de l'organisation et le nom de l'application pour les paramètres. Par exemple: paramètres QSettings ("MySoft", "Star Runner"); – arturx64

+0

Cela fonctionne si je déclare la variable QSettings et toutes les variables comme le nom de l'organisation dans mainwindow.cpp, le problème vient quand on divise tout entre les fichiers –