2017-06-14 114 views
0

我试图使用QSettings并写了一个小测试。QSettings发现INI文件,但没有给出结果

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; 
} 

我的ini文件看起来像这样:

[Network] 
Port=4444 

文件路径是正确的,但我还是没有结果。 任何想法?

回答

-1

错误是由qsettings.h使用Qt 5.4.2

造成原单码为:

enum Format { 
    IniFormat, 
    IniFormat, 

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

后,我把它改成

enum Format { 
    NativeFormat, 
    IniFormat, 

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

一切运作良好。

+1

我不知道你在做什么,但看起来不对。你引用的代码甚至不会编译。 –

相关问题