82 fVbox = std::make_unique<QVBoxLayout>(
this );
84 fOutput = std::make_unique<QPlainTextEdit>();
85 fOutput->setMaximumBlockCount(1000);
87 fOutput->setMinimumSize(800, 455);
90 fQuitButton = std::make_unique<QPushButton>( tr(
"Fitting...") );
97 fProc = std::make_unique<QProcess>(
this );
100 QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
101#if defined(Q_OS_DARWIN)
102 env.insert(
"DYLD_LIBRARY_PATH", env.value(
"ROOTSYS") +
"/lib:/usr/local/lib:" + env.value(
"DYLD_LIBRARY_PATH"));
104 env.insert(
"LD_LIBRARY_PATH", env.value(
"ROOTSYS") +
"/lib:" + env.value(
"LD_LIBRARY_PATH"));
106 fProc->setProcessEnvironment(env);
107 fProc->setWorkingDirectory(workingDirectory);
110 QString program = cmd[0];
111 QStringList arguments;
112 for (
int i=1; i<cmd.size(); i++)
115 connect(
fProc.get(), SIGNAL( readyReadStandardOutput() ),
this, SLOT(
readFromStdOut() ) );
116 connect(
fProc.get(), SIGNAL( readyReadStandardError() ),
this, SLOT(
readFromStdErr() ) );
117 connect(
fProc.get(), SIGNAL( finished(
int, QProcess::ExitStatus) ),
this, SLOT(
processDone(
int, QProcess::ExitStatus) ) );
119 fProc->start(program, arguments);
120 if ( !
fProc->waitForStarted() ) {
122 QString msg(tr(
"Could not execute the output command: ")+cmd[0]);
123 QMessageBox::critical(
nullptr, tr(
"FATAL ERROR"), msg, QMessageBox::Close );