Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用QProcess运行vim终端_C++_Linux_Qt_Qprocess - Fatal编程技术网

C++ 如何使用QProcess运行vim终端

C++ 如何使用QProcess运行vim终端,c++,linux,qt,qprocess,C++,Linux,Qt,Qprocess,我想执行“vim”命令,“vim”命令用于在linux中打开一个新编辑器。“setup.csh”使用QProcess打开文件“vi”editör。我想使用gui运行这个命令 linux终端命令:“vim/home/intern2/elif/Project/setup.csh”。如何运行这个命令gui 我在Qt中编写了以下命令,但是使用QProcess它不起作用 QProcess *process1=new QProcess(this); process1->start("vim" , QS

我想执行“vim”命令,“vim”命令用于在linux中打开一个新编辑器。“setup.csh”使用QProcess打开文件“vi”editör。我想使用gui运行这个命令

linux终端命令:“vim/home/intern2/elif/Project/setup.csh”。如何运行这个命令gui

我在Qt中编写了以下命令,但是使用QProcess它不起作用

QProcess *process1=new QProcess(this);
process1->start("vim" , QStringList() <<"/home/intern2/elif/Project/setup.csh");
process1->waitForBytesWritten();
process1->waitForFinished();
ui->textEdit_3->append(process1->readAllStandardOutput());

我用这个来工作:

QProcess* process = new QProcess();
qint64* processId = new qint64();
process->startDetached("/usr/bin/vim", QStringList(), QString(), processId);

// Wait for process to be closed by user (kill()
// does not actually kill the process, but tests if it exists)
while (kill(*processId, 0) == 0) {}

// Done
delete processId;
delete process;

别忘了为
kill()
函数添加
#include

我使用了以下功能:

QProcess* process = new QProcess();
qint64* processId = new qint64();
process->startDetached("/usr/bin/vim", QStringList(), QString(), processId);

// Wait for process to be closed by user (kill()
// does not actually kill the process, but tests if it exists)
while (kill(*processId, 0) == 0) {}

// Done
delete processId;
delete process;

不要忘记为
kill()
函数添加
#include

是否要打开新的终端窗口?如果是这样,您需要实际指定终端应用程序,如
process1->start(“xterm”,QStringList(),谢谢,我按照我想要的方式工作@PeterT是否要打开新的终端窗口?如果是这样,您需要实际指定终端应用程序,如
process1->start(“xterm”,QStringList(),谢谢,我按照我想要的方式工作@PeterT