2013-04-25 344 views
0

當使用QProcess啓動程序時,如果路徑沒有空格,它會很順利。
如:如何在mac OSX上使用QProcess啓動應用程序(帶空間的路徑)?

QProcess app; 
app.startDetached("open /Users/test/Desktop/MyTest/Hello.app"); 

但是,它不一樣,如果包含空格的程序路徑工作。
如:

QProcess app; 
app.startDetached("open /Users/test/Desktop/My Test/Hello.app"); 

有人能幫助我,告訴我如何在它的路徑空間啓動程序?
謝謝!

回答

3

你需要的字符串的路徑中使用引號: -

app.startDetached("open \"/Users/test/Desktop/My Test/Hello.app\""); 

不帶引號,空間會建議路徑傳遞到調用打開第二個參數的一個部分。

+0

感謝您的回覆。但我試過並得到了失敗的消息:文件/用戶/測試/桌面/我的測試/ Hello.app不存在。應用程序的路徑是正確的。 「開放」有限嗎? – winter 2013-04-26 02:18:08

+0

嘗試使用它與捆綁軟件中的可執行文件的完整路徑,這將是「/用戶/測試/桌面/我的測試/ Hello.app /內容/ Mac OS /你好」 – TheDarkKnight 2013-04-26 07:35:16

+0

感謝您的回覆。我再次嘗試了你的第一條建議(使用引號),發現它是正確的。測試時是我的錯。而你的第二種方法,直接路徑到二進制文件是好的,但我更喜歡第一個。 – winter 2013-04-26 07:44:19

相關問題