User interface MatlabGUI创建者指南是否像我想的那样糟糕?还有别的选择吗?

User interface MatlabGUI创建者指南是否像我想的那样糟糕?还有别的选择吗?,user-interface,matlab,wizard,matlab-guide,User Interface,Matlab,Wizard,Matlab Guide,我一直试图在MATLAB中组装gui,但遇到了很大的困难。下面是关于我的程序的一点背景:我想创建一个向导来引导用户完成图像分析过程。向导将提示用户输入,然后在按下标有“下一步”的按钮后执行图像处理操作,依此类推。通过阅读MATLAB帮助,我相信有两种创建gui的方法:1。编写包含代码行的gui。2.使用指南 我认为导游的学习曲线最浅。起初,这个过程是直截了当的。我可以拖放按钮和文本框并轻松地排列它们。我的计划是安排一系列面板,带有按钮和文本等,当按下“下一步”按钮时,这些面板将依次可见。就在这里

我一直试图在MATLAB中组装gui,但遇到了很大的困难。下面是关于我的程序的一点背景:我想创建一个向导来引导用户完成图像分析过程。向导将提示用户输入,然后在按下标有“下一步”的按钮后执行图像处理操作,依此类推。通过阅读MATLAB帮助,我相信有两种创建gui的方法:1。编写包含代码行的gui。2.使用指南

我认为导游的学习曲线最浅。起初,这个过程是直截了当的。我可以拖放按钮和文本框并轻松地排列它们。我的计划是安排一系列面板,带有按钮和文本等,当按下“下一步”按钮时,这些面板将依次可见。就在这里,我被难住了

一旦我用GUIDE保存了一个面板,MATLAB就会创建一个.m文件和一个.fig文件。通过阅读.m文件,我发现它为我编写回调代码留下了空间,但除此之外几乎没有其他空间。.fig文件是二进制文件,因此我不敢麻烦编辑它。我想知道如何控制对象,例如如何设置面板的可见性?此外,我必须分别创建向导的每个面板。我希望可以手动将.m文件合并到向导.m包装文件中,但我认为这不是正确的方法(至少对我来说是这样,因为我不知道如何做)

代替使用指南,我看到了使用“uicontrol”功能创建GUI的示例。这种方法对我来说似乎很乏味,因为我必须手动编码每个按钮的位置、大小和默认值。也许这是最好的方法,但它吓坏了我

因此,我对MATLAB看似笨重的gui工具感到不满,对自己缺乏克服这一障碍的能力感到不满

我见过一些在MATLAB中创建的奇特GUI,我自己也尝试过,但远远没有实现,我对它们的存在感到困惑。无论是谁制作的,都是优秀的MATLAB用户(我不是),或者我遗漏了一些明显的东西,需要一些帮助。我现在质疑gui是否值得这么做。我不认为自己在探索类似QT的东西,因为将MATLAB代码嵌入到其他语言(如python)中还有额外的挑战


有人对这个问题有什么建议吗?有人能指出我哪里出了问题,或者为什么我遇到了这样的困难吗?

我一直在用MATLAB编写GUI

据我所见,指南使编程GUI变得非常方便。正如你所说的,你实际上不需要为任何按钮编程,它只是安排按钮和填充m文件。在按钮中,您可以通过将属性“Visible”设置为“on”或“off”来处理可见性

我尝试了两种方法:手动编写gui和使用GUIDE编写gui。 我的印象是,你真的必须参与其中。一旦你有了句柄的概念(这是MatlabGUI的主要功能),你就有了它

首先尝试编写一个简单的gui,不要从项目开始。掌握句柄和检查器在MATLAB中的工作方式,以及如何设置值的属性。找出在GUI中可以存储数据的位置,以及如何在其他窗口中检索数据(在窗口之间传递句柄)

我想就是这样吧!在MATLAB中编程GUI可能很难开始,但一旦你明白了我上面提到的事情,它就相当简单了

.fig文件是二进制文件,因此我不敢麻烦编辑它

FIG文件是一个MAT文件,其中包含gui元素列表以及在指南中设置的属性

如何设置面板的可见性

为元素分配一个标记,可以使用
handles.mytag
like
set(handles.mypanel,'visible','off')访问它。

此外,我还必须创造 向导的每个面板都是独立的。我希望我能 手动将.m文件合并到向导.m包装文件中,但我会这样做 我不认为这是正确的方法(至少对我来说,因为我 看不到怎么做)

您不能将这些自动生成的m文件合并为一个文件,为什么还要这样做?为每个向导页面保留一个.fig和.m文件

代替使用指南,我看到了使用 “uicontrol”功能。这种方法对我来说似乎很乏味,因为我 必须手动编码每个组件的位置、大小和默认值 按钮也许这是最好的方法,但它吓坏了我

如果您不手动定位元素,而是使用版面管理器,则直接使用
uicontrol
并不坏。你可以看到一些和。如果您希望GUI能够很好地调整大小,那么布局管理器是唯一的方法

有人对这个问题有什么建议吗?有人能指出吗 我哪里出了问题,为什么会有这样的困难

专业的GUI编程并不容易,IMO甚至是最难的部分

除了MatlabGUI,我还经常使用JavaSwing和.NETWPF,IMO MatlabGUI更简单,你可以用10%(学习)的努力完成90%的任务。当然,你仍然需要时间来习惯它

因此,我不喜欢MATLAB,因为它看起来笨重的gui 我对自己缺乏克服困难的勇气感到不满 这是一个障碍

是的,指南不是最好的解决方案,但可能是快速创建GUI的最佳技术

我见过一些在MATLAB中创建的奇特GUI,并且尝试过这个 我和我自己都被他们的存在所迷惑

这些GUI是利用MATLAB GUI特定细节的黑客,例如视觉分隔符是白色uicontrol上的一个长“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu