Attualmente ho un gran mal di testa per far funzionare bene una piccola GUI che non viene creata con l'editor della GUI ma programmaticamente! Quello che ho finora è qualcosa di simile al seguente:Matlab: Qualcosa come la posizione "relativa" con uicontrollo/asse; mantenere i margini fissi durante il ridimensionamento
hFig = figure();
set(hFig, 'Position', [300 200 500 400]);
plot((1:10).^2, '*-r');
% Größe des Plots so anpassen, dass links Platz für Buttons
ap = get(gca, 'TightInset');
fp = get(gcf, 'Position');
set(gca, 'Position', [160/fp(3), 30/fp(4), (fp(3)-180)/fp(3), (fp(4)-60)/fp(4)]);
uicontrol('Style', 'pushbutton', 'String', 'foo', 'Position', [15 fp(4)-60 110 30]);
uicontrol('Style', 'pushbutton', 'String', 'bar', 'Position', [15 fp(4)-100 110 30]);
tenta di ridimensionare esso: E non 'look' lo stesso, il che significa che le scatole Uicontrol non rimanere nella stessa posizione relativa e la i margini dall'asse alla finestra della figura diventano più grandi. Quello che voglio ottenere è:
Avere una finestra di figura con una posizione data (x/y, larghezza e altezza) con una trama all'interno. La trama avrà un titolo e le etichette per x e y. Crea il grafico come altezza e larghezza in modo che TightInset aggiunga un margine in ciascuna direzione di una determinata dimensione px (ad esempio TightInset + 10px) grande quanto la finestra della figura; eccetto lasciare 150px di spazio libero a sinistra per posizionare alcuni pulsanti di controllo e mantenerli nella stessa posizione: sarebbe lo stesso di essere in grado di dare la posizione dall'alto/a sinistra (in alto = 20, a sinistra = 10) di fondo/sinistra.
Grazie mille!
c'è davvero nessuno che conosce una risposta? Questo è probabilmente importante per me e semplicemente non riesco a farlo funzionare correttamente! – tim
Mi spiace, ma perché votare su questo? Non capisco alcune persone perché è una domanda legittima con una bella risposta pubblicata da me stesso. – tim
Bello, ho cercato questo per età :-) Thx –