GUI를 통해 목록 상자에 항목을 추가하는 방법

남자

GUI 용 로그 박스를 만들려고 필사적으로 노력하고 있습니다. 내가하고 싶은 것은 처음에는 PUSH 버튼을 누른 후 목록에 텍스트를 쓰는 것입니다. PUSH 버튼의 콜백 기능은 다음과 같습니다.

function run__Callback(hObject, eventdata, handles)

   initial_name=cellstr(get(handles.logbox1,'String'))
    handles.names={'test','haus', 'top', 'down', 'optimistic'}
    handles.names{end,end}=[]                                   %Add Element for new text 
    handles.names{end,end}='neuuu'                              %Add Element
    num_element=length(handles.names)                           %Count Elements
    set(handles.logbox1,'String',handles.names)                 %Aktualisiere Liste

    set(handles.logbox1,'Top',num_element)                      %Set Listbox to the last Element

목록 상자는 동일한 GUI에 있습니다. 그럼에도 불구하고 오류가 있습니다.

hg.uicontrol / set을 사용하여 rror

The name 'Top' is not an accessible property for an instance of class 'uicontrol'.

누구든지 제발 나를 도울 수 있습니까, 나는 무엇이 잘못되었는지 이해하지 못합니까?

감사합니다, John

the_raffa

당신 때문에 오류가있어 Top하지 않은 것입니다 propertylistbox uicontrol; 또한는 Top의 속성이 아닙니다 uicontrol.

여기에서 uicontrol 속성 목록을 찾을 수 있습니다 .

"Top"에 가장 가까운 목록 상자 속성은 ListboxTop입니다.

목록 상자에 대한 액세스를 관리하는 데 도움이 될 수있는 두 개의 간단한 GUI를 만들었습니다.

기본 GUI "add_to_listbox"에는 다음이 포함됩니다.

  • listboxtag에 ListBox1
  • pushbuttontagpushbutton1은 String"작업 추가"때마다 사용자가이를 밀어, 문자열을 같은 "메인 GUI가 : 삽입 된 문자열 #x를"이 같은 목록 상자의 상단에 추가됩니다 ( "X"는 conter입니다)
  • pushbuttontag"open_subgui", String"열기 SubGUI는"두 번째 GUI를 엽니 다

SubGUI ( "add_to_listbox_subgui")에는 다음이 포함됩니다.

  • pushbuttontagpushbutton1, String"메인 GUI에 작업 추가"때마다 사용자가이를 밀어, 문자열을 같은 메인 GUI 목록 상자의 상단에 추가 "SUB GUI 삽입 된 문자열 #x를"로 ( "X"는 conter입니다)

SubGUI는 Main GUI listbox handle에 저장된 Main GUi 사용하여 Main GUI 목록 상자에 문자열 추가를 처리합니다 guidata(SubGUI가 Main GUI에 의해 열리면 Main GUI에 대한 입력으로 수신,이를 handle통해 SubGUI 액세스 메인 GUI로 guidata).

다음에서 찾을 수 있습니다.

  • OpeningFcn"액션 카운터"가 초기화 된 메인 GUI
  • 누를 때 pushbutton1_Callback마다 목록 상자에 문자열을 추가하는 기본 GUIpushbutton
  • open_subgui_CallbackSubGUI를 여는 메인 GUI
  • SubGUI OpeningFcn와 Main GUI guidata가 모두 처리되는 SubGUI
  • 누를 때 pushbutton1_Callback마다 Main GUI 목록 상자에 문자열을 추가하는 SubGUIpushbutton

메인 GUI OpeningFcn

% --- Executes just before add_to_listbox is made visible.
function add_to_listbox_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to add_to_listbox (see VARARGIN)

% Choose default command line output for add_to_listbox
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes add_to_listbox wait for user response (see UIRESUME)
% uiwait(handles.figure1);
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Get Main GUI guidata
gui_data=guidata(gcf);
% Add (and initialize) button action counter to Main GUI guidata
gui_data.btn_action=0;
% Set Main GUI guidata
guidata(gcf,gui_data);
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%

메인 GUI pushbutton1_Callback

% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Add button action (from Main GUI) string to the listbox
%
% Get Mani GUI guidata
gui_data=guidata(gcf);
% Increment button action counter
gui_data.btn_action=gui_data.btn_action+1;
% Set Main GUI guidata (to store button action counter)
guidata(gcf,gui_data);
% Generate action string and add it to the listbox
% The firt strimg is directly add to the listbox
if(gui_data.btn_action == 1)
   new_str='Main GUI: Inserted string #1';
   set(handles.listbox1,'string',new_str);
else
   new_str=['Main GUI: Inserted string #' num2str(gui_data.btn_action)];
   % The fisrt string in the list box is returned as "string", to add the
   % second one, it has has to be first converted into a cellarray
   if(gui_data.btn_action == 2)
      tmp_str=cellstr(get(handles.listbox1,'string'));
   else
      % The order of the string in the listbox is reversed to have the last
      % one on top
      tmp_str=flipud(get(handles.listbox1,'string'));
   end
   % Set the updated set of seting to the listbox
   tmp_str{end+1,1}=new_str;
   set(handles.listbox1,'string',flipud(tmp_str));
end

메인 GUI open_subgui_Callback

% --- Executes on button press in open_subgui.
function open_subgui_Callback(hObject, eventdata, handles)
% hObject    handle to open_subgui (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Open the Sub GUI; the handle of the Main GUI is passed as argument to
% This allows Sub GUI accessing to the Main GUI guidata
add_to_listbox_subgui(gcf)
% Disable the "Open Sub GUI" button
set(handles.open_subgui,'enable','off')

SubGUI OpeningFcn

% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Add Sub GUI button action string to Main GUI listbox
%
% Get Sub GUI guidata
gui_data=guidata(gcf);
% Get Main GUI guidata, "gui_data.main_gui" holds the Main GUI handle
gui_data.main_gui_data=guidata(gui_data.main_gui);
% Increment the button action counter
gui_data.btn_action=gui_data.main_gui_data.btn_action+1;
% Update Main GUI button actin counter
main_gui_data=guidata(gui_data.main_gui);
main_gui_data.btn_action=gui_data.btn_action;
% Store Sub GUI guidata
guidata(gcf,gui_data);
% Store Main GUI guidata
guidata(gui_data.main_gui,main_gui_data);
%
% Add button action (from Main GUI) string to the listbox
%
if(gui_data.btn_action == 1)
   % Generate action string and add it to the Main GUI listbox
   % The firt strimg is directly add to the listbox
   new_str='SUB GUI Inserted string #1';
   set(gui_data.listbox,'string',new_str);
else
   new_str=['SUB GUI Inserted string #' num2str(gui_data.btn_action)];
   % The fisrt string in the list box is returned as "string", to add the
   % second one, it has has to be first converted into a cellarray
   if(gui_data.btn_action == 2)
      tmp_str=cellstr(get(gui_data.listbox,'string'));
   else
      % The order of the string in the listbox is reversed to have the last
      % one on top
      tmp_str=flipud(get(gui_data.listbox,'string'));
   end
   % Set the updated set of seting to the listbox
   tmp_str{end+1,1}=new_str;
   set(gui_data.listbox,'string',flipud(tmp_str));
end

여기에 이미지 설명 입력

도움이 되었기를 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

로드시 코드를 통해 콤보 상자에 목록 항목을 추가하는 기본 솔루션

분류에서Dev

버튼을 사용하여 자바 스크립트를 통해 추가 된 "할 일"목록 항목을 삭제하는 방법

분류에서Dev

상태를 통해 배열 항목을 전달하는 방법

분류에서Dev

목록의 모든 항목에 대해 특수 ID를 추가하는 방법

분류에서Dev

PyWinAuto를 사용하여 목록 상자에 항목을 추가하는 방법은 무엇입니까?

분류에서Dev

MySQL을 사용하여 목록 상자에 항목을 추가하는 방법

분류에서Dev

xpath를 통해 가져온 html의 앞과 끝에서 추가 항목을 제거하는 방법

분류에서Dev

Textbox (localdatabase)를 사용하여 목록 상자에서 항목을 찾는 방법

분류에서Dev

javascript를 통해 목록 항목에서 html 링크를 만드는 방법

분류에서Dev

PHP 스크립트를 통해 기존 json 파일에 항목을 추가하는 방법

분류에서Dev

목록 상자에 항목을 추가하는 방법은 무엇입니까?

분류에서Dev

ListBox에 목록 항목 선택기를 추가하는 방법

분류에서Dev

JavaScript를 사용하여 기존 목록에 목록 항목을 추가하는 방법

분류에서Dev

목록 상자의 항목을 다른 목록 상자에 추가하는 방법은 무엇입니까?

분류에서Dev

목록 이해력에 목록 목록을 추가하는 방법

분류에서Dev

목록에서 특정 목록 항목을 선택하고 Javascript에서 마우스를 가리 키거나 클릭 할 때 속성을 통해 행을 추가하는 방법

분류에서Dev

SAP GUI에서 선택 항목 목록을 찾는 방법

분류에서Dev

Elisp에서 목록에 항목을 더 추가하는 방법

분류에서Dev

페이지 목록에 항목을 추가하는 방법

분류에서Dev

vue.js 목록에 항목을 추가하는 방법

분류에서Dev

목록에 항목을 추가하는 방법

분류에서Dev

목록 상자 C #에서 항목을 삭제하는 방법

분류에서Dev

뷰에서 DataContext를 통해 탭된 항목을 가져 오는 방법

분류에서Dev

python 3 다른 목록의 목록에 항목을 추가하는 방법

분류에서Dev

튜플 목록 내의 튜플에 목록 항목을 추가하는 방법

분류에서Dev

두 목록에서 공통 항목을 비교하는 가장 빠른 방법

분류에서Dev

목록 상자에서 텍스트 상자에 항목을 추가하는 방법 C #

분류에서Dev

나중에 If 문에서 사용하기 위해 목록에 항목을 추가하는 방법

분류에서Dev

IntelliJ IDEA에서 Gradle을 통해 항아리 / 종속 항목을 추가하는 방법

Related 관련 기사

  1. 1

    로드시 코드를 통해 콤보 상자에 목록 항목을 추가하는 기본 솔루션

  2. 2

    버튼을 사용하여 자바 스크립트를 통해 추가 된 "할 일"목록 항목을 삭제하는 방법

  3. 3

    상태를 통해 배열 항목을 전달하는 방법

  4. 4

    목록의 모든 항목에 대해 특수 ID를 추가하는 방법

  5. 5

    PyWinAuto를 사용하여 목록 상자에 항목을 추가하는 방법은 무엇입니까?

  6. 6

    MySQL을 사용하여 목록 상자에 항목을 추가하는 방법

  7. 7

    xpath를 통해 가져온 html의 앞과 끝에서 추가 항목을 제거하는 방법

  8. 8

    Textbox (localdatabase)를 사용하여 목록 상자에서 항목을 찾는 방법

  9. 9

    javascript를 통해 목록 항목에서 html 링크를 만드는 방법

  10. 10

    PHP 스크립트를 통해 기존 json 파일에 항목을 추가하는 방법

  11. 11

    목록 상자에 항목을 추가하는 방법은 무엇입니까?

  12. 12

    ListBox에 목록 항목 선택기를 추가하는 방법

  13. 13

    JavaScript를 사용하여 기존 목록에 목록 항목을 추가하는 방법

  14. 14

    목록 상자의 항목을 다른 목록 상자에 추가하는 방법은 무엇입니까?

  15. 15

    목록 이해력에 목록 목록을 추가하는 방법

  16. 16

    목록에서 특정 목록 항목을 선택하고 Javascript에서 마우스를 가리 키거나 클릭 할 때 속성을 통해 행을 추가하는 방법

  17. 17

    SAP GUI에서 선택 항목 목록을 찾는 방법

  18. 18

    Elisp에서 목록에 항목을 더 추가하는 방법

  19. 19

    페이지 목록에 항목을 추가하는 방법

  20. 20

    vue.js 목록에 항목을 추가하는 방법

  21. 21

    목록에 항목을 추가하는 방법

  22. 22

    목록 상자 C #에서 항목을 삭제하는 방법

  23. 23

    뷰에서 DataContext를 통해 탭된 항목을 가져 오는 방법

  24. 24

    python 3 다른 목록의 목록에 항목을 추가하는 방법

  25. 25

    튜플 목록 내의 튜플에 목록 항목을 추가하는 방법

  26. 26

    두 목록에서 공통 항목을 비교하는 가장 빠른 방법

  27. 27

    목록 상자에서 텍스트 상자에 항목을 추가하는 방법 C #

  28. 28

    나중에 If 문에서 사용하기 위해 목록에 항목을 추가하는 방법

  29. 29

    IntelliJ IDEA에서 Gradle을 통해 항아리 / 종속 항목을 추가하는 방법

뜨겁다태그

보관