[ gelöst] Schriftgrößen universeller gestalten

Plattformunabhängige GUIs mit wxWidgets.
Antworten
mathi
User
Beiträge: 314
Registriert: Dienstag 27. November 2007, 14:30

Mittwoch 17. Dezember 2008, 09:15

so sollte es aussehen (Vista 1920x1600)
Bild

so sieht es unter XP und 1600x1200 aus (igitt):

Bild


was kann ich tun?
schön wäre eine "auflösungsunabhängige Schriftgröße", also z.B. skaliert...oder?

Gruß Mathi
Zuletzt geändert von mathi am Donnerstag 18. Dezember 2008, 15:50, insgesamt 1-mal geändert.
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

Mittwoch 17. Dezember 2008, 10:45

dir fehlen im linken fenster eingabe ein paar pixel mach mal das verhältniss der fenster nicht 50-50
sondern 60-40 dann wird das was!
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Mittwoch 17. Dezember 2008, 10:49

mathi hat geschrieben:schön wäre eine "auflösungsunabhängige Schriftgröße", also z.B. skaliert...oder?
Hallo Mathi!

Das sieht so aus, als ob du die Widgets **absolut** positioniert hast. Du brauchst keine skalierende Schrift, sondern ein skalierendes Layout. Und so etwas macht man mit **Sizern**.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
mathi
User
Beiträge: 314
Registriert: Dienstag 27. November 2007, 14:30

Mittwoch 17. Dezember 2008, 11:04

@Gerold

aha, da setz ich mich ma ran, Danke :-)
mathi
User
Beiträge: 314
Registriert: Dienstag 27. November 2007, 14:30

Mittwoch 17. Dezember 2008, 16:10

ok, zum verständnis: ich habe mir in der DEMO mal die sizer angeschaut... wenn ich das richtig verstehe, müßte ich jedes Widget und jeden Text in einen eigenen Sizer packen, damit die Abstände in vertikaler und horizontaler Richtung dynamisch werden, um das zu tun was ich will ????

Oder ist das umständlich gedacht, denn das hört sich nach viieeeelll Arbeit an??

Gruß Mathi
BlackJack

Mittwoch 17. Dezember 2008, 16:38

Es muss nicht jedes Widget in einen eigenen Sizer, aber schon jedes Widget in einen Sizer. Und man kann dann auch den Sizer von zusammengefassten Widgets wieder in einen Sizer stecken.

Ausserdem kannst Du Funktionen/Methoden schreiben um wiederkehrende Muster zu erzeugen. Die Eingabefelder könnten zum Beispiel in einem `wx.GridBagSizer` plaziert werden, bei dem die Überschrift immer drei Zellen "weit" ist, und in der Reihe darunter in die drei Zellen nebeneinander Variablenname, Eingabefeld, und Einheit kommen.

Ich würde wahrscheinlich meine Erfahrungen von Tkinter mit `pack()` und `grid()` auf `wx.BoxSizer` und `wx.GrindBagSizer` übertragen.
mathi
User
Beiträge: 314
Registriert: Dienstag 27. November 2007, 14:30

Donnerstag 18. Dezember 2008, 07:29

Vielen Dank, in der Demo ist der GridBagSizer nicht unter dem Suchbegriff Sizer zu finden, daher war der Tip goldrichtig.


Danke, der Aufwand hält sich damit auch in Grenzen :-)
mathi
User
Beiträge: 314
Registriert: Dienstag 27. November 2007, 14:30

Donnerstag 18. Dezember 2008, 13:35

ich hab da mal lieber ein neues Thema aufgemacht:

http://www.python-forum.de/post-119895.html#119895
Antworten