how to assign a callback located in a array of string (in uicontrol) ? ex uicontrol(​'callback'​,array(1))

2 次查看(过去 30 天)
my example :
listProcessingUnitCallback={...
'signalstatistics_callback','signalFFT_callback','inverseFFT_callback','harmonic_callback','PSD_callback',...
'spectralCoherence_callback','angle_callback','orderSpectrum_callback','invorderSpectrum_callback',...
'synchronousaverage_callback','synchronousaveragespectrum_callback','residual_callback','residualspectrum_callback',...
'envelope_callback','envelopespectrum_callback','miscProcessing_callback','Spectrogram_callback',...
'Cyclostatio_callback','FIRFilter_callback','TOPdetect_callback'};
handle.ProcessingConfig = uicontrol(...
'Style' , 'checkbox' ,...
'String' , 'Processing1' ,...
'Tag' , 'processing1' ,...
'Callback' ,listProcessingUnitCallback(1),... how to write this ?
'Units' , 'Normalized' ,...
'Position' ,[0. 0.97 1 0.03],...
'Parent' ,handle.actionsButtonsConfigProc);

回答(1 个)

Geoff Hayes
Geoff Hayes 2019-8-14
Fabienne - I think that you may want to create an array of function handles rather than an array of (string) function names. For example,
listProcessingUnitCallback={...
@signalstatistics_callback,@signalFFT_callback};
and then you would extract the callback as
'Callback' ,listProcessingUnitCallback{1},...
using the {} braces rather than the () brackets.
  2 个评论
Geoff Hayes
Geoff Hayes 2019-8-14
Fabienne's answer moved here
it's exactly what I want to do but with your syntax I have the same error message : Error while evaluating UIControl Callback.
Geoff Hayes
Geoff Hayes 2019-8-14
Fabienne - please copy and paste the full error message to this question so that we can understand what is going on. It could be that the signature of your functions (in the cell array) do not match the expected signatures of the uicontrol callback.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Migrate GUIDE Apps 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by