c++ - dhclient 实时输出到 QlistWidget

标签 c++ qt ubuntu qt4

我正在使用带有 QT4 的 Ubuntu 10.10。

我想知道 QlistWidget 是否可以显示 Eg 的输出:

system("dhclient eth0");

然后让 qlistWidget 实时显示 DHCPREQUEST/SHCPACK 等?

到目前为止,我只能将命令的输出通过管道传输到一个文件,然后让我的程序读取该文件,这显然没有显示此刻交换的 DHCP 数据包。

最佳答案

好的,我解决了,这是我如何做的一个简短示例,我只会展示我的实现

test::test()
{
    widget.setupUi(this);
    call();
    QObject::connect(&proc,SIGNAL(readyReadStandardOutput()),this,SLOT(stdOut()) );
    QObject::connect(&proc,SIGNAL(readyReadStandardError()),this,SLOT(stdErr()) ) ;
    QObject::connect(&proc,SIGNAL(finished(int,QProcess::ExitStatus)),this,SLOT(bye(int,QProcess::ExitStatus)) );

}
void test::call()
{
    proc.start("dhclient eth0");
}
void test::stdErr()
{
    QByteArray data = proc.readAllStandardError();
    widget.listWidget->addItem(QString(data));
}
void test::stdOut()
{
    QByteArray data = proc.readAllStandardOutput();
    widget.listWidget->addItem(QString(data));
}
void test::bye(int code,QProcess::ExitStatus exit)
{
    if(code ==0)
    {
        widget.listWidget->addItem("Done");
    }
}

关于c++ - dhclient 实时输出到 QlistWidget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5077802/

相关文章:

c++ - 在 QListWidget 中使用图像,这可能吗?

qt - 当我使用 setUseOpenGL(true) 时,QChartSeries 的某些属性将被禁用

linux - 如何在 ubuntu linux 上安装 Intel XDK - install_gui.sh 丢失

ubuntu - Ubuntu上的Jenkins,在Windows机器上触发exe文件

c++ - OpenGL - 每个三角形的像素数不正确

C++ typedef 和 struct 问题

c++ - 如何在两个应用程序之间实现拖放?

linux - 用于网络播放的链接视频(flash/html5 相当于 mplayer?)

c++ - 两个未命名的命名空间,在同一个声明区域中定义

c++ - 如何将数字(用空格分隔)读入数组?