2013-04-07 14 views
0

我是一個C++的不幸初學者,使用Qt GUI設計器程序看起來非常適合我的需求,除了我有問題試圖寫出必要的代碼。我可以使用QSettings字符串將本地設置存儲在硬盤上,但是當程序執行某些操作的%HOME_LOCAL%\ APPS_SETTINGS公牛時,我個人討厭它。我需要爲程序目錄中的設置和本地\主機數據庫保存一個文本文件,以便記住稍後要讀取的字符串。如何使用Qt/C++創建/讀取/寫入本地程序的文件和存儲設置

什麼是我需要使用本地主機文本數據庫的代碼行或有更好的選擇?我該如何將本地程序存儲在其目錄中?

+2

如果管理員安裝應用程序,則非管理員用戶無法正確使用該應用程序。 – 2013-04-07 17:51:53

+2

如果您將應用程序旁邊的信息存儲在應用程序中,您將在大多數操作系統上遇到權限失敗的問題。如果您打算將這部分應用於個人以外的用途,則需要考慮將應用程序與數據分開。 – 2013-04-07 19:28:30

回答

2

您可以使用QSettings以及任何文件,constructor QSettings::QSettings (const QString & fileName, Format format, QObject * parent = 0)

要獲取程序目錄,您可以使用QCoreApplication::applicationDirPath()

所以,回答你的問題,語句創建的QApplication實例後放:

QSettings *settings = new QSettings(
    QCoreApplication::applicationDirPath() + "/settings.ini", 
    QSettings::IniFormat, 
    qApp); 

但是,在受到質疑的評論中指出,如果你讓你的程序的總經銷,你應該使用操作系統默認值。檢查QSettings的所有構造函數,看看它能做什麼。用戶在應用程序目錄中通常不具有寫入權限。請注意,您還可以使用QSettings::NativeFormat將設置存儲到Windows註冊表中。

+0

謝謝。我開始迅速弄清楚這將會是一個非常複雜的項目。 – 2013-04-09 03:39:50

相關問題