Verfasst am: 11.05.2017, 09:41
Titel: Waitbar innerhalb der Gui, erstellt mit Guide
Hallo zusammen,
ich möchte gerne eine "Waitbar" in meine GUI (erstellt mit guide) einabuen.
Aktuell existiert meine Waitbar als solche und da ich sie egal auf welchem Bildschirm im Vordergrund zentriert vor meiner Gui haben will, benutze ich
Code:
h = waitbar(0, '','Name', 'Please wait...');
for idx = 1:length(LängeDerFileListeEben)
centerfig(h,myGui);
set(h, 'WindowStyle', 'modal');
% hier folgt dann jede Menge Code.. ifishandle(h) waitbar(idx/length(LängeDerFileListeEben),h,[num2str(idx*100/length(LängeDerFileListeEben)) '%']);
else disp('Prozess beendet');
break end end
Jetzt habe ich das Problem dass ich weder meine Gui, noch Matlab weiterhin benutzen kann, weil die waitbar ja "modal" gesetzt wurde. Also war meine Idee einfach eine Waitbar (nach http://www.gomatlab.de/tutorial-ver.....m-eigenen-code-t489.html) innerhalb der GUI aufzubauen.
Allerdings bin ich zu blöd dafür..
Die Idee in dem Tutorial ist folgende:
Code:
figure uicontrol('style','text', ...
'units','pixel', ...
'position',[191912214], ...
'backgroundcolor',[.95 .95 .95]);
h = uicontrol('style','text', ...
'units','pixel', ...
'position',[202012012], ...
'backgroundcolor',[.4 .4 .4], ...
'foregroundcolor',[.95 .95 .95]);
% for i=1:80
pos = get(h,'position');
% der Balken ist maximal 120 pixel lang
pos(3) = i/80*120;
set(h,'position',pos,'string',sprintf('%.0f%%',i/80*100)) drawnow %
%%% Hier kommt Dein Code %%% pause(0.05)
%%%%%%%%%%%%%%%%%%%%%%%%%%%% % end % nach http://www.gomatlab.de/tutorial-ver.....im-eigenen-code-t489.html
Allerdings wird hier ja händisch die gui erstellt, und ich benutze guide von matlab..
Ich nehme stark an, dass ich ein "Panel" benutzen soll und das Step by Step einfärben will??! Allerdings steh ich so aufm Schlauch, dass ich nicht mal weiß wie und wo anfangen :'(
_________________
ok...
hab jetzt ein Probe-Gui mit guide erstellen können, in der ich zumindest mal einen Ladebalken gebracht habe... Allerdings gefällt mir die Position überhaupt nicht.
Jetzt scheitere ich daran die Position im Code zu ändern, weil ich wohl nicht ganz verstehe was ich da eigentlich mache -.-'
Habe im Gui-guide einen Button hingeklatscht und mir die Position abgeschrieben Funktioniert natürlich üüüüberhaupt nicht
Vorallem weil ich nicht so ganz verstehe was die beiden Zeilen
Code:
'position',[191912214], ...
%natürlich mit dem ganzen Code von oben...
'position',[202012012], ...
eigentlich machen
Die erste sollte angeben von wo bis wo mein "Panel" geht.. was macht die Zweite?
Hab das noch nie selbst definiert, tut mir leid...
_________________
mh..
Das Problem war, dass wenn ich selbst die Position definiere müssen völlig andere Werte verwendet werden, als wenn ich ein Panel mit guide einsetze.
Hab jetzt allerdings ein Panel mit Guide gesetzt (hier Tag: waitbar1) und färbe das, abhängig vom Simulationstand, schwarz ein.
Dazu musste ich natürlich "Background" und "Foreground" dementsprechend definieren. Bei mir [0.4 0.4 0.4] und [0.94 0.94 0.94].
Auch wenn das niemand nachmachen wollen wird, hier trotzdem der Code
Code:
% erst einmal die Position des Panels abfragen, Position(3) ist die interessante für später
laenge= get(handles.waitbar1, 'Position');
laenge = laenge(3);
for idx = 1:irgendeineZahl
% Jede Menge Code % ...
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.