1
我有一個應用程序,用戶可以更改保存文件的默認文件夾。Qt - 將QString路徑保存到註冊中的QSettings
用戶在其中保存文件的文件夾:QString SaveImagesDirectory;
我想,當用戶退出應用程序,在SaveImagesDirectory數據將被保存在註冊表中。
我嘗試下面的代碼:
QSettings settings(ORG_NAME, APP_NAME);
settings.setValue("LastGuiValue/LastSaveImagesDirectory",SaveImagesDirectory);
的問題是,當我刷新註冊表,有在LastSaveImagesDirectory沒有價值。
因此,當我嘗試使用下面的代碼爲:
SaveImagesDirectory=settings->value("LastGuiValue/LastSaveImagesDirectory",QDir::currentPath()).value<QString>();
變量SaveImagesDirectory只有QDir::currentPath()
了。我看着註冊表,確實LastSaveImagesDirectory
沒有價值。
請調用'sync()'方法,並檢查QSettings的'status()'函數的結果。例如,您可能沒有寫入註冊表的權限。 – eraxillan
Hi Axilles,謝謝您的回覆。我可以寫入註冊表的整數值。需要做些什麼來保存qstring?請幫幫我 ! – EVH671
@ EVH761那麼'status()'函數返回什麼呢?如果它返回'NoError'值,那麼應該能夠將所有QVariant支持的值存儲在註冊表中 - QString就是其中之一。 – eraxillan