向已部署的 MATLAB 应用程序添加帮助

Posted

技术标签:

【中文标题】向已部署的 MATLAB 应用程序添加帮助【英文标题】:Adding help to a deployed MATLAB application 【发布时间】:2015-12-17 16:30:42 【问题描述】:

我正在使用 GUIDE 创建一个已编译的 MATLAB 应用程序,该应用程序是使用 GUIDE 创建的。我想在我的应用程序中添加一个标有“帮助”的按钮来打开合适的文档。我目前的帮助按钮后面有这段代码:

  % --- Executes on button press in helpButton.
function helpButton_Callback(hObject, eventdata, handles)
  if exist('./my_prog_help.html/my_prog_help.html', 'file')
    !start trip_vierer_help.html\trip_viewer_help.html &
  elseif exist('./my_prog_help.txt', 'file')
    !start trip_viewer_help.txt &
  else
    warndlg('Help file not found.','Help Not Found','modal')
    uiwait();
  end

这可行,但它会打开并打开一个 Windows 命令窗口。我可以停止这个额外的窗口打开吗?

或者,虽然这可行,但这必须是经常遇到的要求。还有其他人有更好的解决方案吗?

帮助文档有很多页。

我在 64 位 Windows 7 上使用 MATLAB r2014a。

【问题讨论】:

几个月前我已经提议this answer;也许它可以帮助你。 【参考方案1】:

而不是使用:

!start trip_viewer_help.html\trip_viewer_help.html &

尝试使用:

[status,cmdout]=system('start trip_viewer_help.html\trip_viewer_help.html &');

【讨论】:

虽然这会根据需要打开浏览器或编辑器,但也会打开一个不必要的命令窗口。【参考方案2】:

@il_raffa 在对另一个问题here 的非常详细的回复中提供了部分答案。这是我详细问题的相关部分。我可以使用:

% --- Executes on button press in helpButton.
function helpButton_Callback(hObject, eventdata, handles)
  if exist('./my_prog_help.html/my_prog_help.html', 'file')
    web(trip_vierer_help.html\trip_viewer_help.html','-browser')
  elseif exist('./my_prog_help.txt', 'file')
    winopen('trip_viewer_help.txt')
  end

这将在我的默认浏览器中打开 html,在我的默认编辑器中打开文本。

这也可以:

% --- Executes on button press in helpButton.
function helpButton_Callback(hObject, eventdata, handles)
  if exist('./my_prog_help.html/my_prog_help.html', 'file')
    winopen(trip_vierer_help.html\trip_viewer_help.html')
  elseif exist('./my_prog_help.txt', 'file')
    winopen('trip_viewer_help.txt')
  end

注意,这是特定于 Windows 的。

【讨论】:

以上是关于向已部署的 MATLAB 应用程序添加帮助的主要内容,如果未能解决你的问题,请参考以下文章

Google OAuth API 验证 - 向已验证的应用添加新客户端

在不修改 config.ini 的情况下向已安装的 eclipse rcp 软件添加插件

向已创建的文档添加日期类型

向已创建的文档添加日期类型

Docker:向已创建的容器添加重启策略

matlab部署应用路径等依赖