qt调用外部程序的问题

我用的是qt4.8.7版本,项目里有一个QPushButton按钮,我本来的意思是点击按钮发送信号,能够打开CLV播放器程序,但是遇到一个问题:每次点击按钮的时候就会打开两个播放器窗口。如何才能实现只大开一个窗口呢?
注:项目中也有其他按钮(不过不是调用外部程序用),点击都没有这种问题

cpp部分代码:
CTrPa::CTrPa(QWidget *parent) :
QWidget(parent),
ui(new Ui::CTrPa)
{
ui->setupUi(this);
connect(ui->cmbtnoff, SIGNAL(clicked()), this, SLOT(on_cmbtnoff_clicked()));
}

void CTrPa::on_cmbtnoff_clicked()
{
Qprocess::startDetached("/usr/bin/cvlc");

ui->cmbtnoff->setVisible(false);

}

求助大神帮忙看看,谢谢!!

QT调用外部程序有下面几种方法:

//1.通过调用linux C 函数
system("opt/myApp");

//2.通过QProcess,阻塞调用
QProcess::execute("/opt/myApp");

//3.通过QProcess,非阻塞调用
QProcess *pro = new QProcess;
pro->star......
答案就在这里:QT 调用外部程序
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

http://blog.csdn.net/lwbeyond/article/details/8289144

如果是点一次出来两个,那可能是你connect两次造成的,因为我看到你的代码有:
connect(ui->cmbtnoff, SIGNAL(clicked()), this, SLOT(on_cmbtnoff_clicked()));

如果你使用了*.ui文件,他们可能已经connect过了

不过,这是我猜的。
;)