【问题标题】:Set the Matlab GUI?设置 Matlab 图形用户界面?
【发布时间】:2013-12-09 23:18:21
【问题描述】:

我想制作一个 Matlab 图形用户界面。

这是我的 GUI 设计

在我的 GUI 中有 2 个组按钮、1 个命令按钮、3 个编辑框和 2 个单选按钮。

所以,我想要:

1>> 如果我访问“radio1”,则“radio 2”变得不可见(无法访问),并且“组按钮 2(组 Button2 中的所有属性)”(变得不可见/无法访问)。

2>> 如果我在 Group Button1 中访问了 radio2,则无法访问“radio1”和“edit Box 1”。

3>> 如果我访问了组按钮 2(编辑框 2 和 3),那么组按钮 1 中的所有属性都将变为不可见/无法访问。

怎么做.. 因为在我的 Matlab 文件中,只创建了命令按钮功能..

谢谢

我真的很感谢所有的答案:)

【问题讨论】:

  • 您可以使用set(handle_name,property,property_value) 设置属性并使用get(handle_name,property) 获取属性。有关更多信息,请参阅uicontrol properties。作为提示,请查看 Enable 属性。
  • 您可能需要添加drawnow 命令以便gui 刷新。

标签: matlab user-interface image-processing


【解决方案1】:

怎么做.. 因为在我的 Matlab 文件中,只创建了命令按钮功能..

您可以创建自己的子函数并将它们用作回调:

function MyGUI()

%   Create the GUI
gui = createMyGUILayout();

% Assign Callback Function
set(gui.SaveBtn, 'Callback', @SaveSettings_callback);

% Declare Callbacks
    function SaveSettings_callback(~, ~)
        config = SaveConfig(gui); %#ok
        [file, dir] = uiputfile('config.mat','Save Configuration');
        if ischar(dir)
            save([dir file], 'config');
        end
    end

end

【讨论】:

  • 你知道为什么我不能禁用我的编辑框吗?这是我禁用编辑框的代码。我试过“set(handles.edit2, 'Enable','inactive');”和“set(handles.edit2, 'Enable','off');”但没有效果。 edit2 是我的文本框的标签..
  • set(..., 'Enable', 'off');应该真的有效。你确定你有正确的手柄吗?如:handles.edit2 = uicontrol(...)
  • 解决了。问题是因为我将编辑框放在按钮组中并且它不起作用。在我将编辑框放在面板中之后。它有效..
  • 我还有一个问题.. 你知道如何将单选按钮的值调用到另一个函数中吗?这是我的代码“function radiobutton2_Callback(hObject, eventdata, handles) if (get(hObject,'Value') == get(hObject,'Max')) set(handles.uipanel5,'Visible', 'off') else设置(handles.uipanel5,'Visible','on')结束“。在该代码中,没有输出,但我需要单选按钮的值。在函数 pushbutton2_Callback(hObject, eventdata, handles) 中调用(使用)是 0 还是 1..你知道怎么做吗??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多