如何在 Matlab 中创建图形用户界面?
我知道 GUIDE,但我对它提供的定制量不满意。我还有什么其他选择?
我非常支持在 Matlab 中为 GUI 使用 Matlab-Java 接口。它有点麻烦,但如果它是一个功能合理的 GUI,那么绝对值得麻烦。这就像用 Java 编程,但使用了 m-script 接口。要创建 Java GUI,您需要使用 Matlab 内置函数javaObjectEDT
并将您想要实例化的类传递给它。
frame = javaObjectEDT('javax.swing.JFrame');
Mathworks 建议调用该javaObjectEDT
调用以确保垃圾回收等。当您为 Matlab 函数句柄设置回调时,您需要遵循:
hjObj = handle(jObj, 'CallbackProperties');
set(hjObj,'MouseClickedCallback',{@treeClicked,fig},'ToolTipText','Tip: use Alt-Click to edit plotting functions');
这是解释here。
有很多细节,但核心是基于 m 脚本的 Java,它与 Matlab 集成得非常好。