레이블에 응답을 출력하고자하는 QProcess가 있습니다. 우선, 여기 내가 시도한 것입니다 :레이블 QContcess readAll 응답 출력
QProcess *proc = new QProcess();
proc->setProcessChannelMode(QProcess::MergedChannels);
proc->start(cmdLineRequest.toUtf8().constData()); // cmdLineRequest is omitted
if (!proc->waitForFinished()) {
qDebug() << "Make failed:" << proc->errorString();
ui->topBarcode->setText(QString(proc->errorString()));
} else {
qDebug() << "Make output:" << proc->readAll();
ui->topBarcode->setText(QString(proc->readAll()) + "asdf");
}
된 proc> READALL()는 QByteArray과의 setText은 QString을 받아들입니다. 내가 읽은 바로는 QString에 QByteArray를 캐스팅 할 수 있어야합니다. 작동하지 않습니다. 나는 또한 QString 클래스와() 된 proc> READALL을 변환하는 시도
->setText(QString::fromUtf8(proc->readAll())) // not working
->setText(QString::fromLatin1(proc->readAll())) // not working
->setText(QString::fromLocal8Bit(proc->readAll())) // not working
... etc ...
그것은 이상한 것 같다 내가 setPixmap를 사용하여 거의 동일한 문제에 라벨에 사진을 추가 해요 이후 (QPixmap :: fromImage (이미지))
아무쪼록 고맙습니다. 고맙습니다.
업데이트 :
내가 위의 코드 블록이, 내가 텍스트가 라벨에 추가 볼 수 있습니다 속해있는 방법 끝나기 전에 QMessageBox를 추가하는 경우. 그러나 QMessageBox 닫을 때 텍스트가 사라집니다. 내가 proc -> readAll()을 사용하여 레이블에 주소 위치를 부여했거나이 동작이 어떻게 발생 했습니까? 고맙습니다.
당신이 "작동하지 않는"상태, 당신은 무엇을 의미합니까? 컴파일되지 않거나 예상 한 것과 다른 결과를 얻고 있습니까? QString (const QByteArray & ba) – TheDarkKnight
문자열 배열을 사용하여 바이트 배열에서 QString을 생성하는 것은 매우 합법적입니다. 불분명하다면 죄송합니다. 그것은 알맞게 컴파일합니다. 텍스트가 레이블에 추가되지 않은 것입니다. – Attaque