【问题标题】:Open a GUI directly from desktop (Shortcut) in MATLAB environment在 MATLAB 环境中直接从桌面(快捷方式)打开 GUI
【发布时间】:2014-09-25 23:36:13
【问题描述】:

我想直接从桌面打开一个 GUI,而不用打开 MATLAB 并从中运行它。当我右键单击主 MATLAB code 文件并在 Windows 环境中选择 Run 时,MATLAB 将启动,之后我的 GUI 会自动运行,但我希望通过双击桌面上的图标(快捷方式)来获得它。我怎样才能做到这一点?我不想编译我的应用程序。

  • 我的 GUI 包含训练神经网络,因此无法编译。

【问题讨论】:

  • 也许这会有所帮助:stackoverflow.com/questions/15678762/…
  • @Dev-iL。谢谢,但从技术上讲,我认为我需要在 Windows 中使用技巧并创建快捷方式来运行代码而不是打开它。
  • 您想要的是能够双击.m 文件并让它们在MATLAB 中执行。它不是特定于 GUI 的东西。您使用的是哪个操作系统?
  • 是的。确实如此。正如您所说,我们不需要对代码进行任何更改,因为当我们右键单击文件并选择运行时,我们可以直接在 Windows 环境中运行它。我们想要一些技巧来创建一个快捷方式来运行而不是打开文件。
  • 我认为除了创建应用程序之外唯一可能的方法是使用mcc 创建一个EXE。

标签: matlab user-interface shortcut


【解决方案1】:

您真正需要的是一种通过命令行运行.m 文件的方法——该操作并非特定于GUI。命令行操作是您可以绑定到桌面上的快捷方式或使用批处理文件执行的操作。

您正在寻找的解决方案是MATLAB-specific syntaxstraightforward batch file creation procedure 的组合:

  1. 打开文本编辑器。

  2. 在里面写这个: "C:\<path to your MATLAB folder>\matlab.exe" -nodisplay -nosplash -nodesktop -r "cd('C:\<path to your where the .m file is>\'); run('C:\<path to where the .m file is>\mfile.m');"

  3. 将文件保存为.bat(在windows中)并运行。

【讨论】:

  • 谢谢。现在 GUI 将打开,但我无能为力。例如,当我单击按钮时,会出现如下错误:Undefined function 'Main_page' for input arguments of type 'struct'.。 Main_page 是我正在运行的 GUI .m 文件。
  • 我在文本文件的第一行添加了类似cd F:\Files_Path_of_my_program 的内容,但它不起作用。你提到的文本文件中这段代码的真实结构是什么?
  • 我正在研究它,但问题是:在代码末尾使用类似:-r "cd('C:\<a long path here>');",但 MATLAB 不运行此代码。当我把这段代码放在中间时,Matlab 不会运行最后一个代码(运行 gui)。我该怎么办?。当我们必须命令一切都很好但添加第三个命令时,Matlab 不运行第三个命令。
  • 请用您迄今为止尝试过的事情以及您想要实现的事情更新您的问题。 {对我来说}很难跟随 cmets + 看起来你现在问的是一个完全不同的问题。此外,在您回复 Divakar 的评论后,请注意添加诸如您不想编译代码的原因等信息会很有帮助 - 如果读者看到全局,他们可以更好地帮助您。
  • 那是正确的。非常感谢您的帮助。
猜你喜欢
  • 2019-01-18
  • 1970-01-01
  • 2018-06-25
  • 1970-01-01
  • 2013-03-14
  • 1970-01-01
  • 1970-01-01
  • 2018-11-16
  • 1970-01-01
相关资源
最近更新 更多