Comment ajouter des composants dans une interface graphique existante créée par le guide?
-
27-10-2019 - |
Question
Je viens de créer une interface graphique à l'aide de guide dans MATLAB pour un petit projet sur lequel je travaille. J'ai entre autres deux champs de texte pour de et dates. Maintenant, je voudrais me débarrasser d'eux et d'utiliser un outil de sélection de date Java. Bien sûr, cela est impossible avec guide afin que je dois les ajouter manuellement. J'ai réussi à les amener à se manifester en mettant ce code dans mon Opening_Fcn,
uicomponent(handles, 'style','com.jidesoft.combobox.DateChooserPanel','tag','til2');
Mais même si elle apparaît, je ne peux pas accéder à la date sélectionnez ses attributs, par exemple
get(handles.til2)
retourne
??? Reference to non-existent field 'til2'.
Comment puis-je résoudre ce problème?
La solution
Sauf si vous modifiez la figure graphique enregistrée, la structure de base handles
ne comprend pas votre nouveau composant par défaut.
Une façon d'accès vous composant est de stocker la poignée via guidata, en ajoutant ce qui suit à votre fonction d'ouverture:
handles.til2 = uicomponent(handles, 'style','com.jidesoft.combobox.DateChooserPanel','tag','til2');
guidata(hObject,handles)
Les fonctions qui ont besoin d'accéder à la nécessité de gérer la ligne
handles = guidata(hObject)
pour revenir la structure complète de poignées qui comprend le til2
déposé