日期:2014-05-16  浏览次数:20749 次

QT调用外部程序
初学Qt,急着做毕业论文,遇到一些问题,请求大家帮一下忙!
Linux系统中,在终端命令窗口中的一命令:transformPoints,现在我做了一个按钮,点击该按钮触发事件就相当于在终端命令窗口运行了transformPoints命令,并把运行结果输出在TextEdit里面,请问我该如何对这个按钮进行设置,能不能提供一些相类似的代码让学习一下。谢谢!


------解决方案--------------------


system("ls");
------解决方案--------------------


system("transformPoints >> TextEdit");
------解决方案--------------------
在QT的代码里执行system,读取结果存到Qtextedit即可.
------解决方案--------------------
这个要用到管道的
system("command")
这个是在另外一个进程中执行的
要把输出信息整到qt中,不是简单的重定位就行的

------解决方案--------------------
用管道小示例:
C/C++ code

int main()
{

  int file_pipes[2];  
  char buffer[500];
  int count;

  if (pipe(file_pipes) == 0 ){
    close(1);
    dup(file_pipes[1]);  
    system("transformPoints");  
    count = read(file_pipes[0],buffer,499);  
    //buffer中存放了输出   放到TextEdit中显示就OK了
  }
  return 0;
}