Приветствую Вас Гость | RSS

Вторник, 30.04.2024, 16:21
Главная » 2011 » Апрель » 8 » Перекодировка текста из CP866 в Qt, чтение вывода консольных программ
15:07
Перекодировка текста из CP866 в Qt, чтение вывода консольных программ
Процесс запускается так:
p = new QProcess();
p->start("ping 10.0.1.1");

Чтение из процесса:
void MainWindow::readFromProc()
{
QString s;
QTextStream *in = new QTextStream(p->readAll());
in->setCodec("CP866");
while (!in->atEnd()) {
s.append(in->readLine());
if(!s.endsWith("\n")) s.append("\n");
}
log (s);
}

p - QProcess, в котором выполняются консольные програмки.
Функция запускается через connect(p,SIGNAL(readyRead()),this,SLOT(readFromProc()));
Возможно должно быть по другому, т.к. при запуске некоторых программ (например dir) ничего не считывается.

Просмотров: 1676 | Добавил: intell | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]