2014-03-03 61 views
0

我試圖用QFile.open()在qt創建器中創建/保存文件。 但它總是在應用程序的生成文件夾中創建/保存文件。 我已經試過這段代碼,將目錄更改爲我的目錄,裏面有我的源代碼/頭文件。將文件保存在QFile.open和Qdir的特定目錄中qt

QDir::setCurrent("/ui"); 
file.setFileName("tmp.ui"); 

QDir::setCurrent("/main/ui"); 

if (file.open(QIODevice::ReadWrite)) 
{ 
    builder.save(&file, myDialog); 
} 

它創建文件tmp,但不在正確的目錄中。我想把相關目錄。 任何想法我可以達到它?

+0

你不應該改變你的進程的當前目錄。這根本就沒有必要。 –

回答

0

我不認爲你真的需要改變當前目錄。但是它似乎是毫無意義太

QDir dir("/main/ui"); 
file.setFileName(dir.absoluteFilePath("tmp.ui")); 

:您可以生成不改變當前目錄到文件絕對路徑。你可以寫file.setFilename("/main/ui/tmp.ui")

以'/'開頭的路徑是絕對路徑。你確定你的文件系統根目錄下有'/ ui'或'/ main'目錄嗎?這不太可能。嘗試指定有效的絕對路徑爲QDir。如果你想指定相對路徑,它將從最初的當前目錄(它可以是build目錄)中搜索。

相關問題