我一直在尝试在MATLAB中创建一个GUI,但却遇到了很大的困难。以下是有关我的程序的一些背景信息:我想创建一个向导程序来引导用户完成图像分析过程。该向导程序将提示用户输入,并在按下标为“下一步”的按钮后执行图像处理操作,依此类推。从阅读MATLAB帮助文档中,我认为有两种方法可以创建GUI:1.编写包含行的代码的GUI;2.使用GUIDE。
我认为使用GUIDE会有最浅的学习曲线。起初,这个过程很简单。我可以轻松地拖放按钮和文本框并进行排列。我的计划是安排一系列面板,其中包含按钮、文本等,并在按下“下一步”按钮时顺序变得可见,但是我卡在这里了。
一旦我使用GUIDE保存面板,MATLAB将创建一个.m文件和.fig文件。通过阅读.m文件,我看到它留下了空间让我编写回调函数的代码,但其他方面都很少。.fig文件是二进制的,因此我不敢去编辑它。我想知道如何控制对象,例如如何设置面板的可见性。此外,我必须单独创建向导的每个面板。我希望能够手动将.m文件组合成一个wizard.m包装文件,但我认为这不是正确的方法(至少对我而言,因为我看不到如何做到这一点)。
除了使用GUIDE之外,我还看到了使用“uicontrol”函数创建GUI的示例。这种方法对我来说似乎很繁琐,因为我需要手动编写每个按钮的位置、大小和默认值。也许这是最好的方法,但它让我感到害怕。
因此,我对MATLAB的GUI工具感到不满,并因为无法克服这个障碍而对自己感到不满。
我曾经看到一些在MATLAB中创建的华丽图形用户界面,尝试过后发现自己做得远远不够好,也因此对它们的存在感到困惑。要么是那些制作人员是非常出色的MATLAB用户(而我并不是),要么是我忽略了一些显而易见的东西,需要帮助才能理解。我现在开始怀疑一个图形用户界面是否值得这样的努力。我不太可能尝试像QT这样的东西,因为将MATLAB代码嵌入到其他语言(如Python)中会带来额外的挑战。
有没有人能给我关于这个问题的建议?请问有没有人能指出我哪里做错了或者为什么我遇到了这样的困难?
uicontrol()
进行编程。我参考 GUIDE 的属性来确定如何定位元素。目前这种方法对我来说很有效,尽管有些繁琐。 - Dang Khoa