Generuję GUI MATLAB przy użyciu GUIDE, ale chcę utworzyć pola, gdy użytkownik kliknie przycisk. Czy istnieje sposób dynamicznego dodawania nowych obiektów GUI w wywołaniach zwrotnych?Dynamicznie dodać pola do GUI MATLAB?
Odpowiedz
Jednym ze sposobów osiągnięcia tego jest utworzenie obiektów GUI na początku, ale ustawienie ich właściwości "Widoczność" na "wyłączone". Następnie, gdy użytkownik kliknie przycisk, ustawiasz właściwość "Widoczność" z powrotem na "włączony". W ten sposób nie będziesz tworzyć nowych obiektów GUI, podczas gdy GUI jest uruchomiony, po prostu zmieniasz, które części są widoczne, czy nie.
EDIT: Jeśli nie wiesz, jak wiele nowych obiektów GUI trzeba aż okresie czasu, to w jaki sposób dodawać nowe obiekty GUI do struktury uchwyty (gdzie hFigure jest uchwyt do GUI rysunek):
p = uicontrol(hFigure,'Style','pushbutton','String','test',...
'Callback',@p_Callback); % Including callback, if needed
handles.test = p; % Add p to the "test" field of the handles structure
guidata(hFigure,handles); % Add the new handles structure to the figure
byś wtedy oczywiście trzeba napisać funkcję zwrotną dla nowego obiektu GUI (jeśli potrzebuje jeden), co może wyglądać następująco:
function p_Callback(hObject,eventdata)
handles = guidata(gcbf); % This gets the handles structure from the figure
...
(make whatever computations/changes to GUI are needed)
...
guidata(gcbf,handles); % This is needed if the handles structure is modified
Funkcje zainteresowań, których użyłem w powyższym kodzie, to: GUIDATA (do przechowywania/pobierania danych dla GUI) i GCBF (uzyskanie uchwytu macierzystej figury obiektu, którego wywołanie zwrotne jest aktualnie wykonywane).
Korzystając z UICONTROL, będziesz mógł dodawać "pola" (zwane uicontrols lub widgets).
Będziemy chcieli, aby określić styl, aby edytować pola, guziki itp ...
może rzeczywiście chcesz mieć wszystkie widżety już istnieje w podręczniku, a potem po prostu zmienić widoczność lub włączoną Właściwość w razie potrzeby.
można znaleźć moje samouczki wideo na temat budowy GUI w MATLAB tutaj: http://blogs.mathworks.com/videos/category/gui-or-guide/
ta powinna obejmować tego i innych tematów w GUI budynku.
Czy mogę dodać utworzony obiekt uicontrol do generowanych uchwytów? Coś jak zestaw (handles.test, uicontrol_element) – victor
kiedy robisz UICONTROL, uchwyć uchwyt: handles.newWidget = uicontrol (.......) – MatlabDoug
- 1. Jak dodać obraz w GUI MATLAB?
- 2. java - Jak dynamicznie dodać komponent swing do gui na kliknięcie?
- 3. MVC4 jak dynamicznie dodać element zamówienia do pola EditorFor?
- 4. Dynamicznie generowany GUI
- 5. dodać 1 do pola
- 6. MATLAB: GUI stopniowo coraz wolniej
- 7. Jak wyświetlić przewijalną siatkę obrazów w programie MATLAB GUI
- 8. Dynamicznie dodać adnotację do istniejącej klasy
- 9. Modyfikuj wartość adnotacji pola dynamicznie
- 10. Dodawanie GUI do VBScript
- 11. Dynamicznie aktualizuj pola konfiguracji Grunta
- 12. Jak dodać do formularza pola wirtualne
- 13. Jak dodać niestandardowe pola do InlineFormsets?
- 14. Jak dodać pola wyboru do UITableViewCell?
- 15. Jak dodać dopełnienie do pola jtextfield?
- 16. Jak dodać ograniczenie długości do pola tekstowego
- 17. Jak zapobiec rozmyciu etykiet LATEX w GUI MATLAB?
- 18. Jak dodać zdarzenie onchange do pola wyboru za pośrednictwem javascript?
- 19. Dodawanie zdarzeń do dynamicznie tworzonego pola wyboru w jquery mobile
- 20. dynamicznie odczytać/dodać wartość do parametru pliku conf z właściwościami
- 21. Jak dodać atrybut XmlInclude dynamicznie
- 22. Dynamicznie zmieniaj pętle for w MATLAB
- 23. Java dodać przyciski dynamicznie jako tablica
- 24. Uszereguj wartości tablicowe do pojedynczego pola tablicy struktur (w Matlab)
- 25. Dodawaj dynamicznie pola wejściowe za pomocą wtapów
- 26. Jak dynamicznie ukrywać pola formularza w Django?
- 27. Jak mogę dynamicznie dodawać pola wejściowe do formularza?
- 28. Jak dołączyć datepicker jQuery UI do dynamicznie wstawianego pola formularza?
- 29. Jak dodać niezależny tekst do legendy działki MATLAB
- 30. Sprawdzanie poprawności wypełnionego dynamicznie pola wyboru
Problem polega na tym, że nie wiem ilu " Będę musiał utworzyć do czasu wykonania. Czy mogę to zrobić zmieniając utworzone uchwyty GUI? Próbuję zrobić: p = uicontrols (rysunek, "styl", "przycisk", "ciąg", "test") zestaw (handles.test = p) ale daje mi błędy. Czy istnieje inny sposób? – victor
Polecenie set wymienione powyżej jest problemem. Co chcesz z tym zrobić? – MatlabDoug
Dobrze, próbuję edytować gnovice, i z jakiegoś powodu, kiedy uruchamiam to w wywołaniu zwrotnym generowanym przez przewodnik, kończy się zmiana istniejącego elementu. Mój kod: new_t = uicontrol (hObject, 'styl', 'edit') potem spróbować: K >> dostać (new_t, 'styl') ans = przycisk To dziwne, bo zestaw (handles.test, 'Style', 'edit') kończy się zmienianiem uchwytów.pushbutton.Style. Jakieś pomysły? – victor