77 fVbox = std::make_unique<QVBoxLayout>(
this );
78 fOutput = std::make_unique<QTextEdit>();
80 fOutput->setMinimumSize(600, 755);
83 fQuitButton = std::make_unique<QPushButton>( tr(
"Quit") );
90 fProc = std::make_unique<QProcess>(
this );
93 QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
94#if defined(Q_OS_DARWIN)
95 env.insert(
"DYLD_LIBRARY_PATH", env.value(
"ROOTSYS") +
"/lib:/usr/local/lib:" + env.value(
"DYLD_LIBRARY_PATH"));
97 env.insert(
"LD_LIBRARY_PATH", env.value(
"ROOTSYS") +
"/lib:" + env.value(
"LD_LIBRARY_PATH"));
99 fProc->setProcessEnvironment(env);
102 QString program = cmd[0];
103 QStringList arguments;
104 for (
int i=1; i<cmd.size(); i++)
107 connect(
fProc.get(), SIGNAL( readyReadStandardOutput() ),
this, SLOT(
readFromStdOut() ) );
108 connect(
fProc.get(), SIGNAL( readyReadStandardError() ),
this, SLOT(
readFromStdErr() ) );
111 fProc->start(program, arguments);
112 if ( !
fProc->waitForStarted() ) {
114 QString msg(tr(
"Could not execute the output command: ")+cmd[0]);
115 QMessageBox::critical(
nullptr, tr(
"FATAL ERROR"), msg, QMessageBox::Close );