2017-06-14 65 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

我不知道你在做什麼,但看起來不對。你引用的代碼甚至不會編譯。 –