У меня есть форма sipmle с двумя переключателями. Изменяя выбор я хотел бы выполнить код в функции обратного вызоваПолучение обратного вызова от радиомаяка в Matlab
Вот мой пример кода, который не работает:
classdef radioexample < handle
%radioexample2
% example for radiobuttons
properties(Hidden)
% all elements of the GUI are properties of the class trechner
formMain; % "The MainWindow"
menuFile; % "The Menu Header"
% radio items
radiogroup
radio1
radio2
end
methods(Hidden)
function obj = radioexample
% Constructor Form Main
obj.formMain = figure('position',[400,400,600,260],'Visible','off');
set(obj.formMain,'Name','Radioexample','NumberTitle','off',...
'MenuBar','none','Resize','Off');
% a menu for exit the program
obj.menuFile.main = uimenu('Label','File');
obj.menuFile.exit = uimenu(obj.menuFile.main,...
'Label','Exit','Callback',{@obj.close_Callback,obj});
% radiobutton to select the mode
obj.radiogroup = uibuttongroup(obj.formMain,...
'Visible','on',...
'Units','pixels',...
'BackGroundColor',[0.8 0.8 0.8],...
'Position',[220 80 100 100]);
%'SelectionChangedFcn',@obj.bselection);
uicontrol(obj.radiogroup,...
'Style',...
'radiobutton',...
'BackGroundColor',[0.8 0.8 0.8],...
'String','Option 1',...
'Position',[10 70 70 20],...
'Callback',{@obj.opt1_Callback,obj},...
'HandleVisibility','off');
uicontrol(obj.radiogroup,...
'Style',...
'radiobutton',...
'BackGroundColor',[0.8 0.8 0.8],...
'String','Option 2',...
'Position',[10 50 70 20],...
'Callback',{@obj.opt2_Callback,obj},...
'HandleVisibility','off');
set(obj.formMain,'Visible','on');
end
end
methods(Static,Access=private)
function close_Callback(~,~,obj)
% close window
close(obj.f)
end
function opt1_Callback(~)
fprintf('switched to radio1 mode'); %Does not work
end
function opt2_Callback(~)
fprintf('switched to radio2 mode'); %Does not work
msgbox('switched to radio2 mode','Success'); %Does not work
end
end
methods(Access=public,Hidden)
function disp(obj)
end
end
end
Функция обратного вызова не получает казнены/называется ,
Я изменил его на ваше решение, но fprintfs не выполняются, когда я меняю выбор радио. – kimliv
@kimliv: В аргументах была ошибка, и она исправлена. Он должен был работать до любого момента. – Matt
Вы проверили его? Для меня это не работает. – kimliv