C++ Qt助手在linux中使用enableRemoteControl选项失败

C++ Qt助手在linux中使用enableRemoteControl选项失败,c++,linux,qt,view-helpers,assistant,C++,Linux,Qt,View Helpers,Assistant,我在Qt中有一个应用程序,试图使用助手来获得帮助。它在windows中工作,试图让它在Linux上工作。用这个 使用正确的帮助集合启动助手 我做错了什么?是否需要-enablemotecontrol选项 表示为了让助手监听您的应用程序,请通过传递-enablemotecontrol命令行选项来打开其远程控制功能 但是。。。它正在从我的应用程序中运行,没有该选项。。。而不使用它 谁能解释一下原因吗 这似乎是最近解决的一个bug 提交消息: 助手:修复远程控制模式下启动时的索引更新 HelpEngi

我在Qt中有一个应用程序,试图使用助手来获得帮助。它在windows中工作,试图让它在Linux上工作。用这个

使用正确的帮助集合启动助手

我做错了什么?是否需要-enablemotecontrol选项

表示为了让助手监听您的应用程序,请通过传递-enablemotecontrol命令行选项来打开其远程控制功能

但是。。。它正在从我的应用程序中运行,没有该选项。。。而不使用它


谁能解释一下原因吗

这似乎是最近解决的一个bug

提交消息:

助手:修复远程控制模式下启动时的索引更新

HelpEngineWrapper::initialDocSetupDone只应调用一次 就在帮助模型初始化之后。打电话 每一个小的更新都会导致递归


修正了Qt5.4的错误。。。我被困在使用4.8。。。所以我可能无法解决这个问题……

也许它希望您发送一个初始命令,但无论如何这听起来像个bug。仅当您希望允许应用程序在助手启动后加载帮助页面时,才需要该选项。所以,如果您只想启动一次,就不要使用该选项。不幸的是,我必须模仿windows中的行为,在windows中,我可以告诉助手在哪个页面上启动-我只能在助手启动后才能这样做。我想请看链接问题
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;
 }
/usr/bin/assistant -collectionFile theHelpFile.qhc -enableRemoteControl