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