2015-01-15 53 views
-1

我的程序有问题:我的目标是在点击按钮时从Qt GUI运行控制台程序。老虎看起来是这样的:通过Qt崩溃运行外部程序

void on_Button_clicked(){ 
    QDesktopServices::openUrl(QUrl("filepath",QUrl::TolerantMode)); 
} 

简单的控制台程序,如“世界,你好”不崩溃,但我的计划是沉重的,并开始崩溃。请帮忙!

+2

你怎么知道坠机是在这个?是什么导致它崩溃?什么是在崩溃时的调用堆栈? – 2015-01-15 16:13:57

+3

另外,如果你想运行一个程序,为什么不使用[QProcess](http://doc.qt.io/qt-5/qprocess.html)? 'openUrl'会以一种依赖桌面配置的方式打开文件,即使它是可执行的,它也不会运行。 – Leiaz 2015-01-15 16:17:56

回答

0

使用QProcess使用Qt运行程序,它对过程的输出和状态提供了很多控制。 QDesktopServices :: openUrl最常用于打开文件,如果它运行某些程序,它将取决于您的桌面环境。