如何创建一个GUI吗
336(30天)
显示旧的评论
有多种方法来创建一个Matlab的图形用户界面(GUI)。哪种方法是最好的取决于多个因素:项目的复杂性,在多大程度上应该是一个长期的解决方案,在GUI版本应该工作,您的可用时间,你的技术水平,和其他因素可能我已经忘了。
保持线程清楚我将尝试提供一个简短的提纲一些方式这个问题,并且把细节的答案。(@anyone编辑特权:随时更新下面的部分如果我错过了一些重要的编辑这个问题),我慢
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
指南
指南
可能是第一个工具新用户会遇到。是非常有用的很快把东西放在一起,但另有相当有限。它需要维护和分发00和.fig文件。请注意,
指导环境将在未来的版本中被删除。指南是移除后,现有的引导程序将继续运行在Matlab但他们不会编辑指南。
如果你开始一个新的GUI,不要使用指南。如果你更新现有GUI向导,
迁移它
AppDesigner。在R2021a第一步去除拍摄:所有模板除了空白模板已被移除。
内疚
编程gui
您可以绕过指南和使用正常的数据和功能
uicontrol
从代码构建gui。这使得设计更少的视觉,但为未来增加更灵活。
程序设计师
4评论
亚当
2020年2月10日
有一件事我还没有试过,但是真的需要javacomponent迫在眉睫的死亡,是做一个基于uifigure编程基于类的UI。但这从R2018b希望使这个未来gui的一个可行的办法:
正如上面提到的,我大量使用的GUI工具箱和不愿意创建一个复杂的UI布局没有现在,但uigridlayout的确看起来像一个竞争者取代了使用uifigure,提供Mathworks提供足够我想替换的组件使用基于java的(尤其是一系列滑块,虽然可以工作在一个丑陋的2个滑块的事情)。
毫无疑问我会尝试appdesigner一次又一次,但直到或除非编辑行为一样的主要编码和编辑
整个
UI的代码是可编辑的,这对我来说仍然是行不通的。
答案(3)
亚当Danz
2019年10月4日
我认为drag-n-drop gui的建设是一个有用的工具,尤其是对于初学者,但是它有局限性,在指导的情况下,偶尔的bug,如果不能正常使用。与drag-n-drop方法,构建一个GUI的自下而上的需要更大的投资时间在开发期间但回报
- GUI组件的更多控制
- 简单故障排除
- 减少开销(我仍然会慌张的GUI初始化运行时期间两次指导GUI启动)
- 更深层次的背景知识的图形对象及其属性
- 节省时间在长期通过避免问题否则困难或无法跟踪
即使有初学者的Matlab的经验水平,国际海事组织这些资源下面是足够的开始从自下而上的gui。
- 知道UI选项。可以在创建的用户界面图()或者一个uifigure ()。都有一组不同的组件不兼容,他们都有一个不同的外观。
- 为图()gui交互组件主要是添加使用uicontrol ()列出和他们的属性在这里。列表的一些组件,这些组件可以包含在一个图()GUI在这里。大部分时间有有用的示例文档如何实现UI组件,设置其属性,并编写回调函数。首先,“单位”和“位置的属性允许你位置内的组件图。
- 为uifigure ()gui交互组件添加到各自的功能。的列表uifigure ()组件在这里其中包括链接到每个组件的属性。
- 了解回调函数。许多UI组件有一个广泛的回调函数所调用的用户交互。在这里是一长串调选项,调用它们的行动,使他们的组件。这链接提供体面的例子如何定义一个回调函数,如何指定输入链接显示回调函数为每个类型的UI组件的例子。
这都归结到熟悉UI组件的列表,他们的属性,和回调函数的选择。这听起来好像很多初学者,但大部分的属性和回调函数的行为相同的组件之间的水平理解应该加速后几成功实现按钮或滑动条等。