Qt5 Qprocess调用命令行程序获取实时输出

时间:2014-11-09 12:31:49

标签: c++ qt stdout

我使用QProcess来运行另一个程序。命令为airodump-ng mon0。 它的输出随时都在变化,并且完全不同(也不像ping命令,由行更改)。我希望使用QProcess来运行该程序,并在它仍在运行时获取其输出。

以下是代码:

pushButton_clicked()
{
    myprocess = new QProcess(this);
    connect(myprocess,SIGNAL(readReadStandardOutput()),this,SLOT(outlog()));
    myprocess->start("sudo -A ./airodump-ng mon0");
}

outlog()
{
    QString abc = myprocess->readAllStandardOutput();
    textEdit->setText(abc);
}

在程序airodump-ng中,我已添加代码setvbuf(stdout,(char*)NULL,_IONBF,0);以使用行缓冲。

0 个答案:

没有答案