WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

uitables bei verschiedener Bildschirmauflösung

 

marc-205
Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 12.12.12
Wohnort: ---
Version: R2010b
     Beitrag Verfasst am: 13.08.2013, 06:51     Titel: uitables bei verschiedener Bildschirmauflösung
  Antworten mit Zitat      
Guten Morgen.

Ich habe ein paar GUIs, die zur Ausgabe von Berechnungsergebnissen dienen. Dazu enthalten sie mehrere uitable Objekte. Deren Breite habe ich in den Table Properties so eingestellt, dass sie in die vorgesehene Größe des Objekts passen. Diese Einstellung erfolgt anscheinend in Pixeln.

Mein Problem ist, wenn ich die GUI auf einem anderen Rechner mit anderer Bildschirmauflösung (1920x1080 statt wie zuvor 1680x1050) öffne, passen die Breiten der einzelnen Spalten nicht mehr, also sie sind verhältnismäßig breiter und höher und man muss dann etwas darin herumscrollen.
Wenn ich jedoch die Auflösung auf dem Rechner, auf dem ich sie erstellt habe und bisher genutzt habe reduziere, dann wird alles richtig dargestellt.

Kennt jemand das Problem oder hat eine Idee, wie man das lösen kann?
Dachte erst, dass ich es mit AutoWidth versuchen sollte, aber dass die Höhe auch nicht passt, kann damit eigentlich nicht zusammenhängen.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.08.2013, 12:33     Titel:
  Antworten mit Zitat      
Hallo,

hilft es, wenn du die Eigenschaft 'units' auf 'normalized' statt auf 'pixels' stellst? Das würde ich persönlich bei allen GUI-Elementen machen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
marc-205
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 12.12.12
Wohnort: ---
Version: R2010b
     Beitrag Verfasst am: 15.08.2013, 07:19     Titel:
  Antworten mit Zitat      
Danke für den Vorschlag, aber das hat leider nicht geholfen.
In der Hilfe steht was interessantes bei 'Extent'. Anscheinend soll man, wenn als unit normalized eingestellt ist, die Werte von width und height bei position gleich den Werten setzen, die bei width und height von Extent stehen. Wenn ich das mache wird die Position des Objekts verändert sowie die Schriftgröße. Allerdings passt das dann auch nicht... Also bei Extent stehen derzeit kleinere Werte für Höhe und Breite, als bei Position.

bei in den properties der figure noch die units auf characters stehen und jetzt mal zu normalized geändert. Werde das damit heute Abend nochmal testen.

Bzw mir fällt auf, ich habs immer zu Hause auf meinem PC in der kompilierten Version getestet. Kann das kompilieren da noch irgendeinen Einfluss drauf haben?

Kann mir irgendwie nicht vorstellen, dass das immer so eigenartig ist...
Hat noch jemand eine Idee?
Private Nachricht senden Benutzer-Profile anzeigen
 
marc-205
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 12.12.12
Wohnort: ---
Version: R2010b
     Beitrag Verfasst am: 16.08.2013, 14:04     Titel:
  Antworten mit Zitat      
Anscheinend liegt das Problem daran, dass die Breite der Spalten immer in Pixeln eingegeben wird (wenn die ColumnWidth nicht auf auto steht), unabhängig davon, was bei den Units für die figure und/oder die jeweilige uitable gewählt wurde.
Es gibt wohl irgendwelche Java-herumtrickserei, oder die Möglichkeit das auf die Pixel der Bildschirmauflösung zu beziehen, wie Hier beschrieben.

hab es so gelöst und teste das heute Abend mal und berichte dann obs geklappt hat.

Code:
ssizetemp = get(0,'ScreenSize');
        ssize = ssizetemp(3);
%         Umrechnungsfaktor ssize ist 1680/aktuelle Auflösung
        ssize = 1680/ssize;
        width{1,1}=110*ssize;
        width{1,2}=40*ssize;
        set(handles.uitable1,'ColumnWidth',width);
        clear width


die Units hab ich gemäß dieser Richtlinie auf characters eingestellt.
Private Nachricht senden Benutzer-Profile anzeigen
 
marc-205
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 12.12.12
Wohnort: ---
Version: R2010b
     Beitrag Verfasst am: 19.08.2013, 15:33     Titel:
  Antworten mit Zitat      
Auf diese Weise hat es leider auch nicht wirklich funktioniert, die Breite hat zwar gepasst, aber warum auch immer die Höhe nicht. Habe die uitable Objekte nun an einem anderen Rechner mit 1920x1200 Bildschirmauflösung angepasst. Auf dem 1680x1050 wo ich sonst arbeite sieht zwar alles nicht mehr so wirklich doll aus, d.h. es ist unten und rechts Platz, aber naja. Rolling Eyes
Private Nachricht senden Benutzer-Profile anzeigen
 
marc-205
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 12.12.12
Wohnort: ---
Version: R2010b
     Beitrag Verfasst am: 22.08.2013, 07:35     Titel:
  Antworten mit Zitat      
Hallo,

ich habe inzwischen doch eine Lösung durch viel ausprobieren gefunden. Man muss die FontUnits, Units der Objekte, Units der Figure und die PaperUnits auf points umstellen. Dann passt es. Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.