LINUX.ORG.RU

Сообщения checkdimon

 

Псевдотерминал

Форум — Development

Всем привет! Только начинаю программировать на unix и одно из заданий моих - написать псевдотерминал.

Вот соответственно та часть кода, которую я пишу. Мне удалось написать только то, чтобы при нажатии на кнопку, отправлялась команда из тестового поля и результат записывало в поле для вывода. Проблема заключается в том, что команды, которые сразу выдают ответ (типа df) проходят, а вот на команде ping приложение зависает и в поле для вывода не дает ничего. Надеюсь, что вы поможете в этом мне разобраться! Заранее спасибо!

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QProcess>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(nashSlot()));
}

MainWindow::~MainWindow()
{
    delete ui;
}




void MainWindow::nashSlot()
{
    QString str1 = ui->lineEdit->text(); // получаем строку из первого QLineEdit
    QProcess proc;
    proc.start(str1);
    proc.waitForFinished();

    QByteArray output = proc.readAll();
    proc.close();
    ui->textBrowser->setText(output);

}

 , , , ,

checkdimon
()

RSS подписка на новые темы