Ich arbeite bei GUI in MATLAB-Anwendung. Ich benutze uitable
Objekt. Dann finde ich interessant undocumented feature, wie es die Daten zu sortieren, wählen Sie ganze Reihe usw.Funktion Handle mit `set` Funktion MATLAB
ich tun, um diese Art und Weise:
% create jhandle to my uitable object
juiTable = findjobj(handles.uitable1,'class','UIScrollPane');
jtable = juiTable(1).getComponent(0).getComponent(0);
%... some my action like this:
jtable.setRowSelectionAllowed(true);
%...
%and now lets try use callback for selected cell in uitable:
juiFunHandle = handle(jtable, 'CallbackProperties');
set(juiFunHandle, 'MousePressedCallback', @CellSelectionCallback);
set(juiFunHandle, 'KeyPressedCallback', @CellSelectionCallback);
, die perfekt funktioniert.
Jetzt Frage: wie man mehrere Parameter zu CellSelectionCallback
setzt? Ich möchte diese Funktion macht etwas Aktion (macht einige Taste aktiv etc). Dazu versuche ich GUI handles
dazu zu setzen. Aber wie?
Meine CellSelectionCallback
Funktion:
function CellSelectionCallback(juiTable, varargin)
% get it from the example
row = get(juiTable,'SelectedRow')+1;
fprintf('row #%d selected\n', row);
P. S. Ich sehe varargin
hinein. Kann ich also mehrere Argumente verwenden? Wie stelle ich es mit meiner set
Funktion?
Ah natürlich! Benutze es einfach wie eine normale anonyme Funktion! Übrigens kann ich 'function CellSelectionCallback (juiTable, varargin)' und dann 'varargin {2}' verwenden. –
@Mikhail_Sam Sicher kannst du das auch, ich bevorzuge nur explizite Eingaben statt 'varargin', also habe ich das als alternativen Ansatz gezeigt. – Suever