0

我想查看“检测”功能的结果。在“检测”功能中有“消息”变量。从函数中,我希望messeges 变量中的所有句子都可以在我的GUI 中预览,尤其是在UIPANEL 中。

怎么做。我在 matlab 中使用 tag=uipanel1 进行了面板设计。

[messeges]=Detection(handles.citra1); %it's to call the Detection     
function.

这是我的 UIPANEL 代码..

       hp1=uipanel('Position', [100 100 700 500],...
       'Title','UI Panel 1');
        set(hp1, [messeges]);

但它无法将 messeges 变量中的句子显示到我之前制作的 panel1 中。

有这样的错误消息

        ??? Error using ==> set
        There is no 'jumlah pasang pixel yang pada objek 13         
        adalah 1000' property in the 'uipanel' class.

       Error in ==> deteksi2citra>pushbutton3_Callback at 124
       set(hp1, [messeges]);

       Error in ==> gui_mainfcn at 96
        feval(varargin{:});

        Error in ==> deteksi2citra at 42
          gui_mainfcn(gui_State, varargin{:});

      Error in ==>          
     @(hObject,eventdata)deteksi2citra('pushbutton3_Callback',
    hObject,eventdata,guidata(hObject))


     ??? Error while evaluating uicontrol Callback

我找到了相关主题,但我找不到解决方案。

请帮我..

4

1 回答 1

0

您的代码存在三个主要问题。

  1. 您总是必须在Matlab中将对象属性设置为某些东西

    set(Object_Handle,'PropertyName1',PropertyValue1,...
       'PropertyName2',PropertyValue2...)
    

    因此,您可能可以编写此代码set(hp1, 'String', messages);,但永远不会set(hp1, [messages]);

  2. uipanel只是一个容器对象,这意味着它可以包含其他 GUI 对象。您可以将包含您的字符串的textor edit(See ) 放在. 但它本身没有属性。uicontroluipaneluipanel'String'

  3. 默认情况下,position向量是。所以所有的位置值都必须在和之间。有关更多信息,请参见此处的位置向量。uipanelnormalized01

将多行 text放入的示例uipanel

(请注意,此代码是独立的或自一致的代码(与GUIDE不同),因此您可以复制并粘贴此代码并在 matlab 命令窗口中运行它。)

str = sprintf('Your \n Multiline \n String ...');

hp1 = uipanel('Title','UI Panel 1',...
    'Position', [.25 .1 .67 .67]);

uicontrol(...
    'Parent', hp1,...
    'Style','text',...
    'Units', 'Normalized', 'Position', [0 0 1 1],...
    'String', str);
于 2013-07-15T15:49:46.640 回答