Сделал как в примере. На виндовс все работает, на линукс нет.
bool Assistant::startAssistant()
{
//1 путь до приложения "ассистант"
if (!proc)
proc = new QProcess();
if (proc->state() != QProcess::Running) {
QString app = QLibraryInfo::location(QLibraryInfo::BinariesPath) + QDir::separator();
app += QLatin1String("assistant");
//2 передача в это приложение файл коллекции справки
QStringList args;
args << QLatin1String("-collectionFile")
//путь до файла
<< QLatin1String("../doc/Help.qhc")
<< QLatin1String("-enableRemoteControl");
//3 стартуем ассистант
proc->start(app, args);
if (!proc->waitForStarted()) {
QMessageBox::critical(0, QObject::tr(""),
QObject::tr("Unable to launch Qt Assistant (%1)").arg(app));
return false;
}
}
return true;
}
мне кажется дело в относительных пятях до файла коллекции, но разве не должен вылезти MessageBos::critical?
эта функция отрабатывает как надо и возвращает true;
попробовал даже закинуть абсолютный путь, не выходит