Hallo
Ich arbeite mich gerade in Tkinter ein.
Mir ist aufgefallen, dass die Darstellung von Widgets auf meinem
Rechner mit Windows 7, Python 2.7 viel größer ist als mit Ubuntu 10.04, Python 2.6.
Da meine geplante Anwendung unter Windows XP, Windows 7 und diversen Linux und
Mac OSX Systemen laufen werden soll, befürchte ich nun, für jedes System
das Programm anpassen zu müssen. Ich hoffe das wird nicht der Fall sein, und ich
mache gerade nur irgendetwas nicht richtig.
Danke im voraus
OTB
Widgets Darstellung unter Windows/Linux/Mac
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Wenn ich mir Deinen Code so ansehe, würde ich schon sagen, dass Du da etwas falsch machst.OTB hat geschrieben:Ich hoffe das wird nicht der Fall sein, und ich
mache gerade nur irgendetwas nicht richtig.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ich sehe schon, dass Du keine hast oder eine schlechte, sonst wüßtest Du das ja bereitswuf hat geschrieben:Was für einen Glaskugel verwendest du? Welches Produkt?

encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Ich würde mal sagen „Profil“ → „Beiträge des Benutzers suchen“, beziehungsweise „ah, ich erinnere mich“ oder „hier ist gar kein Code“.wuf hat geschrieben:Was für einen Glaskugel verwendest du? Welches Produkt?Hyperion hat geschrieben:Wenn ich mir Deinen Code so ansehe, würde ich schon sagen, dass Du da etwas falsch machst.
Gruß wuf
@OTB: Wenn Du die GUI ordentlich mit Layouts und nicht mit absoluten Platzierungen und Grössenangaben gestaltet hast, dann sollte das eigentlich kein Problem sein.
Hyperion hat geschrieben:Wenn ich mir Deinen Code so ansehe, würde ich schon sagen, dass Du da etwas falsch machst.OTB hat geschrieben:Ich hoffe das wird nicht der Fall sein, und ich
mache gerade nur irgendetwas nicht richtig.
Ich wollte die Frage allgemein stellen: gibt es
bekannte Probleme in dieser Richtung, da braucht es keinen Code.
einfaches Beispiel:
Code: Alles auswählen
from Tkinter import *
r=Tk()
b=Button(r, width=10, height=10)
b.pack()
r.mainloop()
nomnom hat geschrieben:Ich würde mal sagen „Profil“ → „Beiträge des Benutzers suchen“, beziehungsweise „ah, ich erinnere mich“ oder „hier ist gar kein Code“.wuf hat geschrieben:Was für einen Glaskugel verwendest du? Welches Produkt?Hyperion hat geschrieben:Wenn ich mir Deinen Code so ansehe, würde ich schon sagen, dass Du da etwas falsch machst.
Gruß wuf
Hast Du sonst nix zu tun?
Hi OTB
Danke für dein Code-Snippet. Beim Button-Widget ist die Dimension defaultmässig vom Zeichensatz abhängig da für width & height der Wert als Anzahl Zeichen und Zeilen interpretiert wird. Bei nur Verwendung der 'text'-Option ist die Dimension des Button-Widgets von der Textlänge, Anzahl Zeilen und verwendetem Font abhängig. Bei nur Verwendung der 'image'-Option bestimmt die Abmessung des Bildes in Pixels die Dimension des Button-Widgets. Bei Kombination nur der 'text'- und 'image'- mittels 'compound' bestimmen Text, Bild und Font die Dimension. Für dein Beispiel könnte es sein, dass Tk auf den verschiedenen Betriebsystemen defaultmässig nicht den gleichen Zeichensatz verwendet.
Hier ewas zum ausprobieren: Du musst dich auch noch mit der verfügbaren Dokumentation schlau machen.
Hast du auch beim Einsatz eines Canvas-Widgets bei dem du 'width' und 'height' in Pixels definierst auf den verschiedenen OS unterschiede festgestellt?
Gruß wuf
Danke für dein Code-Snippet. Beim Button-Widget ist die Dimension defaultmässig vom Zeichensatz abhängig da für width & height der Wert als Anzahl Zeichen und Zeilen interpretiert wird. Bei nur Verwendung der 'text'-Option ist die Dimension des Button-Widgets von der Textlänge, Anzahl Zeilen und verwendetem Font abhängig. Bei nur Verwendung der 'image'-Option bestimmt die Abmessung des Bildes in Pixels die Dimension des Button-Widgets. Bei Kombination nur der 'text'- und 'image'- mittels 'compound' bestimmen Text, Bild und Font die Dimension. Für dein Beispiel könnte es sein, dass Tk auf den verschiedenen Betriebsystemen defaultmässig nicht den gleichen Zeichensatz verwendet.
Hier ewas zum ausprobieren:
Code: Alles auswählen
from Tkinter import *
r=Tk()
b=Button(r, width=10, height=10)
b.pack()
b=Button(r, width=10, height=10, bg='yellow', font=('Helvetica', 8))
b.pack()
b=Button(r, width=10, height=10, bg='green',font=('Helvetica', 20))
b.pack()
b=Button(r, font=('Helvetica', 8))
b.pack()
b=Button(r, font=('Helvetica', 20))
b.pack()
r.mainloop()
Hast du auch beim Einsatz eines Canvas-Widgets bei dem du 'width' und 'height' in Pixels definierst auf den verschiedenen OS unterschiede festgestellt?
Gruß wuf

Take it easy Mates!
wuf hat geschrieben:Hi OTB
Danke für dein Code-Snippet. Beim Button-Widget ist die Dimension defaultmässig vom Zeichensatz abhängig da für width & height der Wert als Anzahl Zeichen und Zeilen interpretiert wird. Bei nur Verwendung der 'text'-Option ist die Dimension des Button-Widgets von der Textlänge, Anzahl Zeilen und verwendetem Font abhängig. Bei nur Verwendung der 'image'-Option bestimmt die Abmessung des Bildes in Pixels die Dimension des Button-Widgets. Bei Kombination nur der 'text'- und 'image'- mittels 'compound' bestimmen Text, Bild und Font die Dimension. Für dein Beispiel könnte es sein, dass Tk auf den verschiedenen Betriebsystemen defaultmässig nicht den gleichen Zeichensatz verwendet.
Hier ewas zum ausprobieren:Du musst dich auch noch mit der verfügbaren Dokumentation schlau machen.Code: Alles auswählen
from Tkinter import * r=Tk() b=Button(r, width=10, height=10) b.pack() b=Button(r, width=10, height=10, bg='yellow', font=('Helvetica', 8)) b.pack() b=Button(r, width=10, height=10, bg='green',font=('Helvetica', 20)) b.pack() b=Button(r, font=('Helvetica', 8)) b.pack() b=Button(r, font=('Helvetica', 20)) b.pack() r.mainloop()
Hast du auch beim Einsatz eines Canvas-Widgets bei dem du 'width' und 'height' in Pixels definierst auf den verschiedenen OS unterschiede festgestellt?
Gruß wuf
Bei meinem Rechner und dem Rechner eines Bekannten war die Textdarstellung auf 150 % eingestellt.
http://windows.microsoft.com/de-DE/wind ... or-smaller
Nach Auswahl des Standardwertes ist jetzt alles so wie es sein sollte.
Vielen Dank für deine Hinweise, die mich auf die richtige Fährte gebracht haben.
@OTB: Im Regelfall sollte sich ein Programm nach den Vorgaben des Benutzers richten, und nicht umgekehrt. Genau deswegen verwendet man ja Layout-Verwaltung: Um unabhängig zu sein von den verschiedenen Systemkonfigurationen.