|
|
Position des GUI-Fensters |
|
dumdidum |
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 21.05.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.05.2008, 16:17
Titel: Position des GUI-Fensters
|
|
Moin!
Ich möchte das meine GUI beim Starten den Bildschirm ausfüllt. Also habe im Property-Inspector die Position auf [0 0 1 1] und units auf normalized gestellt. Die Größe des Fenster stimm auch, aber es wird etwas verschoben, siehe
Auch über set klappt es nicht.
Was mache ich falsch??
mfg
|
|
|
|
|
nschlange |
Ehrenmitglied
|
|
Beiträge: 1.320
|
|
|
|
Anmeldedatum: 06.09.07
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: R2007b
|
|
|
|
|
|
Verfasst am: 23.05.2008, 16:42
Titel:
|
|
Hi, dazu würde ich wieder den File Exchange bemühen.
Alle anderen Tricks mit 'Screensize' und so weiter klappen nicht richtig, zumindest bei den meisten.
Wenn Du die Datei runterlädst kannst Du schreiben:
_________________
Viele Grüße
nschlange
"Chuck Norris ejakuliert fluessigen Stahl!"
|
|
|
dumdidum |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 21.05.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.05.2008, 09:49
Titel:
|
|
Für eine Milisekunde klappt das
dann springt das Fenster wieder auf die alte Position
Habs auch grad mit einer komplett neuen figure probiert und auch da springts kurz auf Vollbild und sofort wieder zurück....
Vielleicht liegt das irgendwie an Win Vista
Aber trotzdem danke!!
|
|
|
nschlange |
Ehrenmitglied
|
|
Beiträge: 1.320
|
|
|
|
Anmeldedatum: 06.09.07
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: R2007b
|
|
|
|
|
|
Verfasst am: 24.05.2008, 10:11
Titel:
|
|
Könnte natürlich an Vista liegen, aber nur um gefragt zu haben:
Du machst das doch nicht mit einem späteren Befehl wieder rückgängig, oder?
Sonst müsstest Du den File Exchange weiter durchsuchen, es gibt da mehrere Programme, die das lösen sollen. Ausserdem steht in den Reviews öfter etwas dazu. Hilft wohl nur probieren...
Wenn Du etwas funktionierendes gefunden hast kannst Du das gern hier veröffentlichen
_________________
Viele Grüße
nschlange
"Chuck Norris ejakuliert fluessigen Stahl!"
|
|
|
dumdidum |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 21.05.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.05.2008, 11:01
Titel:
|
|
nene
Ich muss mal schauen, ich hab nur hier zu Hause Vista und auf der Arbeit XP, mal sehen, ob es da funktioniert.
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 27.05.2008, 19:46
Titel:
|
|
Das liegt weder am Vista, noch ist es ein Bug. Wenn ein Figure mit OPENFIG geöffnet wid (und das findet statt wenn man ein GUI startet), so ruft diese Funktion die interne Funktion MOVEGUI auf und diese lässt nicht zu, dass das Figure so nah an das Rand gezeichnet wird. das kann man unterdrücken in dem man den Aufruf von MOVEGUI in OPENFIG (auskommentiert oder man fügt die Zeile
in die OutputFcn zu.
MfG
P.S. übrigens MOVEGUI ist auch eine ziemlich nützliche Funktion.
MOVEGUI(h,'center') platziert das Figure automatisch in die Mitte des Bildschirms... oder auch woanders 'north','south'... mehr in der Hilfe
|
|
|
steve |
Ehrenmitglied
|
|
Beiträge: 2.029
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: Wien
|
|
|
|
Version: R2024a
|
|
|
|
|
|
Verfasst am: 28.05.2008, 06:51
Titel:
|
|
Hey outsider, danke!!!
Diese Funktion ist doch weitaus besser als die Position immer per Hand festzulegen...
Gruß
Alex
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
matlabprofi |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.02.2012, 15:20
Titel: Matlab GUI frei positionieren - Lösung
|
|
|
|
|
Hallo,
das Problem ist, dass nach dem Start der GUI, der Befehel movegui.m (C:\Program Files\MATLAB\R2011b\toolbox\matlab\uitools\movegui.m) aufgerufen wird.
Lösung:
In den Ordner der eigenen GUI-Files (.fig, .m) einfach eine Matlab-Datei
movegui.m
anlegen mit dem "leeren" Inhalt
function movegui(varargin)
oder Anhang runterladen.
Erklärung:
movegui soll verhindern, dass abgespeicherte Figures außerhalb des sichtbaren Bildschirm (wechsel von einem Rechner auf einen anderen) dargerstellt wird.
Diese öffnet erst selbst weit außerhalb des Blidschirmbereichs das (GUI-)Figure. Speichert die Datenstruktur und schließt das Figure. Anschließend wird nur die Datenstruktur geladen.
in movegui.m steht
f=figure('position', [10000, 10000, 400, 300]);
% set(f, 'CreateFcn', 'movegui')
% hgsave(f, 'onscreenfig')
% close(f)
% f2 = hgload('onscreenfig')
dann wird der CallBack für movegui.m in das Figure gesetzt.
set(gcf, 'CreateFcn', @movegui)
Noch kurz vorm Anzeigen des Figures wird movegui.m von der Figure selbst aufgerufen, wodurch verhindert wird, dass das Figure irgenwor außerhalb des Bildschirms angezeigt wird - z.B. set(gcf,'Position',[-100000 -1000 2000 20000]). Der Benutzer sieht es nicht und kann es nur ei aktiviertem Fenster(Figure) mit alt+F4 oder close(hfig) schließen.
Mittels einer movegui.m Funktion im eigenen Ordner wird diese priorisiert aufgerufen. Da diese keinen wesentlichen Inhalt aufweisst, wird eben nichts mehr beschränkt.
Beispiel:
Im Anhang Dateien fleXControl.m, fleXControl.fig und movegui.m runterladen in einen Ordner. In Matlab Command guide eingeben und das
fleXControl.fig laden und (play) anklicken. Im Property Fenster des Figures sind die Eigenschaften "Position" entsprechend eingestellt.
Viel Erfolg.
Beschreibung: |
In eigenen GUI-Ordner kopieren |
|
Download |
Dateiname: |
fleXControl.m |
Dateigröße: |
4.09 KB |
Heruntergeladen: |
591 mal |
Beschreibung: |
In eigenen GUI-Ordner kopieren |
|
Download |
Dateiname: |
fleXControl.fig |
Dateigröße: |
2.24 KB |
Heruntergeladen: |
508 mal |
Beschreibung: |
In eigenen GUI-Ordner kopieren |
|
Download |
Dateiname: |
movegui.m |
Dateigröße: |
28 Bytes |
Heruntergeladen: |
585 mal |
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|