• 7752阅读
  • 5回复

如何一个QProcess完成以后另一个QProcess才开始 [复制链接]

上一主题 下一主题
离线heart2007
 

只看楼主 倒序阅读 楼主  发表于: 2009-12-03
有两个QProcess,一个运行完以后,另一个才开始,怎么设置
[ 此帖被heart2007在2009-12-03 22:56重新编辑 ]
离线dbzhang800

只看该作者 1楼 发表于: 2009-12-03
收到第一个结束的信号后再启动第二个
离线benbenmajia

只看该作者 2楼 发表于: 2009-12-04
SIGNAL
安然.....
离线磐石
只看该作者 3楼 发表于: 2009-12-04
引用第1楼dbzhang800于2009-12-03 22:54发表的  :
收到第一个结束的信号后再启动第二个

如果第一个进程运行后是一个对话框,我直接点右上角的叉,把对话框关掉是不是就算这个进程结束了,此时是不是就会发送finished()信号,我这样试怎么不行的
connect(process1,SIGNAL(finished()),process2,SLOT(start());
不怕做不到,只怕想不到
离线dbzhang800

只看该作者 4楼 发表于: 2009-12-04
引用第3楼磐石于2009-12-04 18:03发表的  :
如果第一个进程运行后是一个对话框,我直接点右上角的叉,把对话框关掉是不是就算这个进程结束了,此时是不是就会发送finished()信号,我这样试怎么不行的
connect(process1,SIGNAL(finished()),process2,SLOT(start());

finished 是这个样子的
void    finished ( int exitCode, QProcess::ExitStatus exitStatus )

而start,也没有你写的这个吧(如果不是你的自定义函数的话)
离线磐石
只看该作者 5楼 发表于: 2009-12-05
引用第4楼dbzhang800于2009-12-04 18:14发表的  :
finished 是这个样子的
void    finished ( int exitCode, QProcess::ExitStatus exitStatus )
而start,也没有你写的这个吧(如果不是你的自定义函数的话)

恩,呵呵,我都写错了,查了关于void    finished ( int exitCode, QProcess::ExitStatus exitStatus )的说明,但不明白里面参数是怎么设的,
void QProcess::finished ( int exitCode, QProcess::ExitStatus exitStatus )   [signal]
This signal is emitted when the process finishes. exitCode is the exit code of the process, and exitStatus is the exit status. After the process has finished, the buffers in QProcess are still intact. You can still read any data that the process may have written before it finished.
我现在想实现的是:有一个主应用程序A在运行,它里面串口是一直打开的,A界面中有个按钮,当我点击时通过新建一个QProcess对象(process)来起动应用程序B。B也需要用到串口的,当我找开进程B时,我把A的串口先关掉,再打开B,这样我是实现了,但我现在的问题是,当B一结束,A中的串口就打开,这个process结束的信号怎么写?
请再指点一下,谢谢!
不怕做不到,只怕想不到
快速回复
限100 字节
 
上一个 下一个