2014-09-02 43 views
0

我需要啓動一個可執行文件,當我點擊我的Qt應用程序中的一個按鈕。要啓動一個可執行文件,我正在使用QProcess對象。QProcess :: start沒有啓動進程

QProcess *executable = new QProcess(this); 
executable->start("test.exe"); 

test.exe存在於我的Qt應用程序所在的同一位置。

我在這裏面臨的問題是,當我正在調試時,它正在啓動test.exe。但是當我沒有調試運行時,它不會啓動可執行文件。我不知道我在這裏錯過了什麼。

+3

最可能'QProcess'沒有找到你的'test.exe'文件。嘗試定義完整的文件路徑。 – vahancho 2014-09-02 07:23:20

+1

你會得到什麼錯誤? – UmNyobe 2014-09-02 07:35:50

+1

將一個插槽連接到QProcess :: error信號,或者調用executable-> error()來查看存在什麼錯誤(如果有的話):http://qt-project.org/doc/qt-5/qprocess.html #error – TheDarkKnight 2014-09-02 07:46:12

回答

1

當您在調試中和從資源管理器中運行程序時,應用程序嘗試查找test.exe的目錄不同。始終使用完整路徑。

如果你把test.exe文件在您的應用程序的EXE所在的文件夾中,您可以使用此:

QDir(QCoreApplication::applicationDirPath()).absoluteFilePath("test.exe") 
相關問題