最近我試圖將 SQLite 資料庫放入我正在撰寫的 QT 5 應用程式中。我希望它可以普遍訪問 - 無論它安裝在哪里,都可以在所有系統上使用。我把它作為資源然后發現顯然你不能把資料庫放在資源中,因為傳遞給 setDatabaseName 的資料庫路徑的字串沒有被轉換到資源系統,所以找不到資料庫。
那么我可以把它放在哪里呢?我不想把它像 C:\repo.db 或 D:\repo.db 一樣放在驅動器的根目錄下,因為很多人討厭檔案弄亂他們的根目錄(像我一樣)。我打算把它放在源檔案夾中,并以“repo.db”或我試過的“./resources/database/repo.db”的形式訪問它,但即使是QFile也沒有看到。我可以把它放在哪里以及如何訪問它?我的設定檔案將在我的資源中,但我不確定當時是否可以更新該檔案。我需要一個位置,從應用程式安裝到任何系統(包括我自己的系統)的那一刻起,就可以使用它,以便在編碼和構建時都可以訪問它。
我不是在征求意見——我想要一個不在根目錄中的地方,一個像安裝目錄這樣通用的地方(但我如何用代碼找到它?)或一個設定目錄(但我如何在某處設定它,所以我以后能找到嗎??)
uj5u.com熱心網友回復:
您可以使用 QSettings 來保存路徑、設定并恢復它們。
QSettings m_Arhive("Company", "app_name");
//Set DB path
m_Arhive.setValue("DBPath", "c:/somewhere/database");
//Get DB path
m_Arhive.value("DBPath").toString()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/324354.html
上一篇:Vue無法正確呈現存盤在表中的陣列(Laravel8)
下一篇:Sql:如何獲取某一年的月總收支