Сбой Qt Assistant в Linux с опцией enableRemoteControl

У меня есть приложение в Qt, пытающееся использовать помощника для помощи. Он работает в Windows, пытаясь заставить его работать в Linux. Используя это пример

if (process->state() == QProcess::Running)
return;

QString app = QLibraryInfo::location(QLibraryInfo::BinariesPath) + QDir::separator();
#if !defined(Q_OS_MAC)
app += QLatin1String("assistant");
#else
app += QLatin1String("Assistant.app/Contents/MacOS/Assistant");
#endif

QStringList args;
args << QLatin1String("-collectionFile")
<< "theHelpFile.qhc"<< QLatin1String("-enableRemoteControl");
process->start(app, args);
if (!process->waitForStarted()) {
QMessageBox::critical(this, tr("Remote Control"),
tr("Could not start Qt Assistant from %1.").arg(app));
return;
}

Там нет ошибки, я получаю открытое окно — не реагирует и пусто.

Если я удалю-enableRemoteControlвариант, это работает.

Бег

/usr/bin/assistant -collectionFile theHelpFile.qhc -enableRemoteControl

запускает помощника с правильным набором справки.

Что я делаю неправильно ? Это «-enableRemoteControlвариант нужен?

Документация Qt говорит, что «чтобы Ассистент слушал ваше приложение, включите его функцию удаленного управления, передав опцию командной строки -enableRemoteControl».

Но … он работает из моего приложения без этой опции … и не работает с ним?

Кто-нибудь может объяснить, почему?

0

Решение

Кажется, это ошибка, которая была недавно устранена

https://codereview.qt-project.org/#/c/95279/

«Сообщение коммита:

Помощник: исправление обновления индекса при запуске в режиме дистанционного управления

HelpEngineWrapper :: initialDocSetupDone () должен вызываться только один раз
сразу после инициализации справочных моделей. Вызывая его
каждое небольшое обновление приводит к рекурсии. «

Исправлено для Qt 5.4, хотя … Я застрял, используя 4.8 … Так что я не могу решить проблему …

0

Другие решения


По вопросам рекламы [email protected]