ich hab folgendes Problem: Ich hab auf nem großen Bildschirm nen GUI programmiert, der den Bildschirm auch ziemlich ausfüllt. Versuche ich nun, den GUI auf nem kleineren Bildschirm zu verwenden (z.B. auf einem Notebook), so passt der GUI nicht auf den Bildschirm und es sind Teile nicht sichtbar. Welche Lösungsmöglichkeiten gibt es für dieses Problem? Ich hätte eigentlich gedacht, dass Scrollbalken erscheinen, sobald der GUI nicht auf den Bildschirm passt.
Die von Alex erwähnte ResizeFcn ist die sauberste/ schönste Lösung.
Es wird aber mit zunehmender Anzahl von Objekten auf Deinem GUI aufwendig diese zu programmieren.
Eine Alternative, die aber nicht immer ein schönes Bild ergibt, ist die Verwendung von Units = normalized. Mit normalized wird das GUI immer !relativ! auf die Bildschirmgröße gepasst.
Die Verwendung von Panels erleichtert dabei die Erstellung Deines GUI´s. Änderung im Design Deines GUI lassen sich mit Panels auch besser durchführen.
_________________
danke auch dir für die Hinweise. Ich glaube, da muss ich mich nochmal eingehender mit befassen. Der GUI, um den es sich hier dreht, ist mein erster größerer mit guide erstellter GUI, bin also hier noch ziemlich unerfahren. Zwar benutze ich Panels, ich muss mir dann aber nochmal klarmachen, wie sich Größenänderungen des GUIs auf die Elemente des GUIs auswirken.
wenn du panels benutzt ist es "relativ" einfach. Die Größe der Panels hängt von der Größe des Fensters ab. Und die Größe der Objekte in den Panels ist relativ zur Größe des jeweiligen Panels. Das heißt das Verhältnis von Fenster zu Panel bleibt immer gleich und das Verhältnis von den Objekten zu den Panels bleibt gleich.
ich hab jetzt mal ein bisschen mit dem GUI rumgespielt. Ich habe das Property "Units" im GUI mit Hilfe von Guide auf "normalized" gesetzt. Außerdem habe ich unter "GUI"-Options die "Resize Behavior" auf "Proportional" gesetzt.
Grundsätzlich geht das schon in die richtige Richtung. Ich kann den GUI kleiner machen und die Elemente werden vernünftig gestaucht. Nun aber zum verbleibenden Problem, wo ich immer noch nicht durchblicke: Kann man dem GUI denn keine Scrollbalken verpassen? Das Kernproblem liegt nämlich darin, dass ich den GUI mit guide auf nem großen Display programmiert habe. Wenn ich das .fig-File nun auf meinem deutlichen kleineren Notebook mit guide öffne, fehlen leider im oberen Teil des GUIs schon Elemente, auf die ich auch nicht auf irgendeine (mir ersichtliche) Art und Weise zugreifen kann. Warum auch immer. Hab ich da irgendwie Tomaten auf den Augen oder handelt es sich hier um eine grundsätzliche Sackgasse, in die ich mich begeben habe?
In beiden Fällen wird das Fenster zentriert am Bildschirm dargestellt.
Die Zahlenangaben in 'Outerposition' sind Prozentangaben und reduzieren die Größe des GUI -> es bleibt runderhum ein Rand.
_________________
danke für die schnelle Response. Ich habe den Code so eingeben, hat aber nicht funktioniert, da er mir dann immer ein figure-Fenster aufgemacht hat. Ich war dann mal so frei den Code wie folgt abzuändern:
Damit komme ich der Lösung zumindest ein Stück weit näher. Das eigentliche Problem bleibt aber leider weiterhin bestehen. Am oberen Rand des GUIs fehlen einige Elemente. Das Problem ist ja auch, dass ich diese Elemente auch mit guide (auf meinem Notebook wohlgemerkt) nicht angezeigt bekomme, also sowohl in guide als auch im eigentlichen GUI-Fenster wird oben abgeschnitten.
Ich vermute mal, ich komme in diesem Fall nicht umhin, den GUI mit guide auf meinem großen Monitor so zu verkleinern, dass er zunächst erstmal auch auf meinem Notebook ganz auf den Bildschirm passt, so dass ich auch dort alle Elemente angezeigt bekomme und diese dann auch bearbeiten kann.
Allerdings kann ich mir immer noch nicht vorstellen, dass das der Weissheit letzter Schluss ist. Ich stelle mir gerade vor, dass ich irgendeinen GUI programmiere und ihn dann z.B. auf nem Netbook mit Minidisplay laufen lassen will. Da stoße ich doch immer wieder auf das gleiche Problem...
edit by steve: Bitte die Code-Umgebung verwenden!!!
Was Deine Elemente innerhalb des GUI betrifft - Panels- und alles was geht normalized!
Wenn Du das Fenster um die Hälfte verkleinerst, werden alle Panels innerhalb des GUI um die Hälfte verkleinert. Und innerhalb der panels werden dann auch alle Elemente um die Hälfte geschrumpft. Aber nur wenn alles 'normalized' ist!!!!
Problem: Schriftgröße; Wenn die Elemente eine gewisse Größe unterschreiten wird die Beschriftung abgeschnitten.
sehr interessanter Link. Ich glaub mit vereinten Kräften haben wir's geschafft, das Ding scheint jetzt in etwa so zu laufen, wie ich mir das vorgestellt habe. Leider schmiert mein Matlab grad dauernd ab, ausgiebigere Tests verschiebe ich daher erstmal...
Einstellungen und Berechtigungen
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.