小编Tan*_*tty的帖子

从qt中的对话框打开新对话框

我试图从按钮单击事件的现有对话框中打开一个新的对话框窗口,但我无法执行此操作,因为我从MainWindow打开了对话框窗口.

我正在尝试:

Dialog1 *New = new Dialog1();

New->show(); 
Run Code Online (Sandbox Code Playgroud)

是否有一种不同的方式从现有的对话框窗口打开对话框窗口???

qt qdialog qt-creator

6
推荐指数
1
解决办法
3万
查看次数

在textBrowser中实时显示QProcess输出

我是qt开发的新手,我想将QProcess的输出实时传输到textBrowser.我开始执行一个简单的echo命令,但程序的输出没有显示出来.我究竟做错了什么????

QProcess p;
p.start("echo hye");
QByteArray byteArray = p.readAllStandardOutput();
    QStringList strLines = QString(byteArray).split("\n");
    QString line= p.readAllStandardOutput();
    if(p.state()==QProcess::NotRunning)
        ui->textBrowser->append("not running");
    foreach (QString line, strLines){
    ui->textBrowser->append(line);}
Run Code Online (Sandbox Code Playgroud)

PS我在linux机器上.

编辑:我仍然无法在textBrowser中获取输出.

我更改了Qprocess参数并尝试了waitForStarted()和waitForReadyRead(),以便进程及时启动并且结果可用.

我添加了waitForFinished(),以便当进程超出范围时进程不会终止.

QProcess p;
    p.start("echo", QStringList() << "hye");
    p.waitForStarted();
    QByteArray byteArray = p.readAllStandardOutput();
    QStringList strLines = QString(byteArray).split("\n");
    QString line= p.readAllStandardOutput();
    if(p.state()==QProcess::NotRunning)
        ui->textBrowser->append("not running");
    ui->textBrowser->append(line);
    p.waitForFinished();
Run Code Online (Sandbox Code Playgroud)

qt qprocess qt-creator

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

qt ×2

qt-creator ×2

qdialog ×1

qprocess ×1