这是我执行Benoit的答案。
我在指南中创建了一个名为'TheGui'的gui。它保存在文件TheGui.fig和TheGui.m中。 TheGui有一个标签为'TheGuiButton'的按钮。
在MATLAB命令行中,我使用TheGui命令启动gui,并打开它。
在MATLAB命令窗口中使用此循环,我得到'TheGui'的句柄。我无法让F = findobj('Name','TheGui')工作。
for hx = findall(0, 'type','figure'),if isequal('TheGui',get(hx,'name')),hGui=hx,end,end
有了TheGui的句柄,我得到了一个按钮(唯一的孩子)的句柄。
hButton = findobj(hGui,'style','pushbutton')
我可以看到,这就是我想要的东西用
v = get(hButton)
检查其属性和我可以改变按钮的属性这样
set(hButton,'enable','off')
我把这一切一起在一个MATLAB脚本文件中看到它的工作
for hx = findall(0, 'type','figure')
if isequal('TheGui',get(hx,'name'))
hGui=hx
end
end
hButton = findobj(hGui,'style','pushbutton')
for i = 1:10
set(hButton,'enable','off')
pause(1)
set(hButton,'enable','on')
pause(1)
end
如果h已经在使用,可能在程序运行时可能会更改,如果使用GLOBAL_HANDLES这样的长名称和唯一名称,可能会更好。无论如何,全局变量的长名称是很好的练习,因为它们可能会导致很多麻烦。 –
您可能需要在致电set(h,'enable','on')后致电[guidata](http://uk.mathworks.com/help/matlab/ref/guidata.html) –
我该怎么办它? –