在编写qt程序的时候,我们难免需要调用其他程序,并且需要获得程序的实时输出,来继续我们的程序,我们可以使用QProcess类提供的方法来达到我们的目的,我采用的方法如下所示:
void Widget::on_button_Ipcfg_clicked()
{
cardProcess = new QProcess(this);
connect(cardProcess, SIGNAL(readyReadStandardOutput()),this,
SLOT(readFromStdOut()));
cardProcess->start("/usr/local/bin/cardcfg");
}
void Widget::readFromStdOut()
{
cardText = cardProcess->readAllStandardOutput();
QMessageBox::information(this,tr("Network card
information"),cardText ,tr("yes"));
}
通过上述方法我就可以将我的程序/usr/local/bin/cardcfg程序的输出读到cardText中,并通过informationbox弹框显示。