2017-06-14 5 views
0

J'ai essayé d'utiliser QSettings et j'ai écrit un petit test.QSettings trouve le fichier INI mais ne donne aucun résultat

if(QFile("C:/Users/test/network.ini").exists()){ 
    QSettings settings("C:/Users/test/network.ini", QSettings::IniFormat); 
    settings.sync(); 
    settings.beginGroup("Network"); 
    settings.setValue("Port",9999); 
    settings.endGroup(); 
    settings.sync(); 
    settings.beginGroup("Network"); 
    int port = settings.value("Port").toInt(); 
    settings.endGroup(); 
    settings.sync(); 
    qDebug() << port; 
    return port; 
} 

Mon fichier .ini ressemble que:

[Network] 
Port=4444 

Le chemin du fichier est correct, mais je reçois toujours pas de résultats. Des idées?

Répondre

-1

L'erreur a été provoquée par le qsettings.h dans Qt 5.4.2

Le code orginal était:

enum Format { 
    IniFormat, 
    IniFormat, 

    InvalidFormat = 16, 
    CustomFormat1, 
    CustomFormat2, 
    CustomFormat3, 
    CustomFormat4, 
    CustomFormat5, 
    CustomFormat6, 
    CustomFormat7, 
    CustomFormat8, 
    CustomFormat9, 
    CustomFormat10, 
    CustomFormat11, 
    CustomFormat12, 
    CustomFormat13, 
    CustomFormat14, 
    CustomFormat15, 
    CustomFormat16 
}; 

Après avoir changé à

enum Format { 
    NativeFormat, 
    IniFormat, 

    InvalidFormat = 16, 
    CustomFormat1, 
    CustomFormat2, 
    CustomFormat3, 
    CustomFormat4, 
    CustomFormat5, 
    CustomFormat6, 
    CustomFormat7, 
    CustomFormat8, 
    CustomFormat9, 
    CustomFormat10, 
    CustomFormat11, 
    CustomFormat12, 
    CustomFormat13, 
    CustomFormat14, 
    CustomFormat15, 
    CustomFormat16 
}; 

tout a bien fonctionné.

+1

Je ne sais pas ce que vous faites, mais cela ne semble pas correct. Le code que vous avez cité ne serait même pas compilé. –