jak uzyskać komendę output system () w Qt?

Używam komendy system () w Qt. i chcę uzyskać dane wyjściowe i pokazać je użytkownikom. moim poleceniem jest:

system("echo '" + rootPass.toAscii() + "' | su - root -c 'yum -y install " + packageName.toAscii() + "'");

ta komenda nie może działać, gdy używam jej w QProcess (funkcja start lub execute), ale jeśli mogę uruchomić to polecenie w QProcess, mogę uzyskać wyjście zQProcess::readAllStandardOutput() funkcjonować.

także gdy użyłem „>” w poleceniu systemowym, aby zapisać wyjście w pliku, otrzymuję dane wyjściowe, gdy pakiet jest całkowicie zainstalowany. jak poniżej:

system("echo '" + rootPass.toAscii() + "' | su - root -c 'yum -y install " + packageName.toAscii() + "' > result.out");

czy istnieje jakiś pomysł na uruchomienie tej komendy z QProcess lub uzyskanie wyjścia z komendy system (), gdy tylko napiszemy każdą linię.

questionAnswers(3)

yourAnswerToTheQuestion