以下代码创建 3 个单选按钮。选择功能确保显示适当的内容:
function myui
bg = uibuttongroup('Visible','off',...
'Position',[0 0 .2 1],...
'SelectionChangedFcn',@bselection);
% Create three radio buttons in the button group.
r1 = uicontrol(bg,'Style','radiobutton',...
'String','Option 1',...
'Position',[10 350 100 30],...
'HandleVisibility','off');
r2 = uicontrol(bg,'Style','radiobutton',...
'String','Option 2',...
'Position',[10 250 100 30],...
'HandleVisibility','off');
r3 = uicontrol(bg,'Style','radiobutton',...
'String','Option 3',...
'Position',[10 150 100 30],...
'HandleVisibility','off');
% Make the uibuttongroup visible after creating child objects.
bg.Visible = 'on';
function bselection(source,callbackdata)
display(['Previous: ' callbackdata.OldValue.String]);
display(['Current: ' callbackdata.NewValue.String]);
display('------------------');
end
end
我想更改每个代码显示的选择和内容(没有用户点击)。我可以将每个代码的单选按钮选择设置为:
set(bg, 'SelectedObject', r2);
这将为正确的单选按钮绘制蓝点(似乎已选中),但是未显示正确的内容。我想我需要手动调用'SelectionChangedFcn',我不能,因为它要求'callbackdata',这是一个'matlab.ui.eventdata.SelectionChangedData'类,还没有文档。
问题:在编码单选按钮更改时,我是否需要自己创建“回调数据”以“从外部”调用 SelectionChangedFcn,还是有其他方法?
问题2:我会就“HandleVisibility”为什么/何时有用或没有用的一个小提示,MatLab 文档对我来说太神秘了。