如何用QProcess运行vim终端
问题描述:
我想要做“vim”命令,“vim”命令用于在linux中打开一个新的编辑器。 “setup.csh”用QProcess打开文件“vi”editör。我想用gui来运行这个命令。如何用QProcess运行vim终端
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());
不幸的是,我给了以下错误消息
错误消息:
Warning: Output is not a terminal
Warning: Input is not from a terminal
答
我得到了它这个工作:
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;
不要忘记添加#include <signal.h>
为kill()
函数。
你想打开一个新的终端窗口吗?如果是这样,你需要实际指定终端应用程序,如'process1-> start(“xterm”,QStringList() start(“cat “,QStringList() PeterT
谢谢你,我按照我想要的@PeterT –