2016-08-04 2 views
0

Qt를 사용하여 셸 스크립트를 설치하고 실행하고 Ubuntu Desktop 응용 프로그램을 만들고 싶습니다.Qt (QProcess)를 사용하여 apt-get을 실행하십시오.

QProcess process; 
process.startDetached("bash /home/root_enable"); 
process.waitForFinished(-1); 

하지만 Y/N 및 기타 명령을 입력하는 터미널을 볼 수 없습니다 : 은 지금은 사용합니다. 이 문제를 어떻게 해결할 수 있습니까?

내 root_enable은 다음과 같습니다

sudo apt-get install vim 
+0

자세한 내용은 http://stackoverflow.com/questions/6258565/launch-gui-app-from-qprocess – suiwenfeng

+0

다른 질문 startDetached는 현재 프로세스에서 분리됩니다. – suiwenfeng

+0

시작 부분을 사용하십시오. 외부 지원이 필요하지 않습니다. . – Hamed

답변

1

QProcessQIODevice을 상속합니다. 쓰기 메소드를 사용하여 프로세스의 입력 스트림에 쓸 수 있습니다.

readyReadStandardOutput 신호에 연결하십시오. 핸들러에서 표준 출력을 읽고 구문 분석 한 다음 필요한 경우 응답을 결정하십시오.

+0

이 작업을 수행 할 수 없습니다. 외부 터미널이 필요합니다. – Hamed

+0

@Hamed, @ N0un' 답변이 효과가 있습니다. 분리 된 프로세스에 연결하고 passwd를 보내야합니다. 또는 루트 passwd 입력을 기다리는 동안 프로세스가 차단됩니다. – suiwenfeng

+0

나는 그것이 작동하지 않았 음을 테스트했습니다 – Hamed