Matlab(在我看来)是设计图形用户界面最简单的语言之一,因为所有你需要做的就是将ui元素添加到普通的数字窗口中并作为回调链接到标准函数。还有一个图形工具可以创建这些工具,名为GUIDE,但我从来没有打扰过它,因为首先用手编写它非常简单。
下面是一个简单的“应用程序”绘出螺旋形,以控制其规模的滑块控制:
%%%%%% In file myplot.m %%%%%
function myplot
%% Create initial figure and spiral plot
figure; axes ('position', [0.1, 0.3, 0.8, 0.6]);
t = linspace (0, 8*pi, 100); x = t .* cos(t); y = t .* sin(t);
plot (x, y); axis ([-100, 100, -100, 100]);
%% Add ui 'slider' element
hslider = uicontrol ( ...
'style', 'slider', ...
'Units', 'normalized', ...
'position', [0.1, 0.1, 0.8, 0.1], ...
'min', 1, ...
'max', 50, ...
'value', 10, ...
'callback', {@plotstuff} ...
);
%% Callback function called by slider event
function plotstuff (h, event)
n = get (h, 'value');
x = n * t .* cos(t); y = n * t .* sin(t);
plot (x, y); axis ([-100, 100, -100, 100]);
end
end
关于你提到的第二个问题,有是的方式来创建独立应用程序没有安装matlab的用户,但需要注意的是,您需要将Matlab Compiler工具箱打包为独立的a pp和
b)您的最终用户将不得不安装Matlab Compiler Runtime以便代码运行。 (类似于您需要安装Java运行时才能运行Java代码)。
如果上述两者都不是你的代言人,那么是的,matlab是你的gui应用程序的一个合适和直接的选择。
PS1:有用的链接:https://uk.mathworks.com/discovery/matlab-gui.html
PS2:八度稍落后于MATLAB的GUI功能,你应该避免嵌套函数回调,但否则其全新的Qt界面已经与一些UI元素的功能了。所以对于简单的吉他,倍频应该也很好,而且值得一试(也是免费的,开放的,更容易部署的,在我看来也是如此)。
虽然您的观点是有效的,但如果您希望运行这些应用程序,则可以将MATLAB应用程序部署到本地C或C++,而不需要MATLAB运行系统。我建议你改变你的答案以反映这一点,因为它不完全准确:https://www.mathworks.com/products/matlab-coder/ – rayryeng