Tkinter cs tcl/tk

Fragen zu Tkinter.
Antworten
ErikDerRothe
User
Beiträge: 1
Registriert: Montag 29. Juli 2019, 18:49

Tkinter vs tcl/tk unter Linux

Hallo zusammen, wie Alle hier bin ich ein Fan von Python.

Nachdem ich (in Python) Tkinter, Gtk, Qt, Wxwidgets ausprobiert hatte, sehnte ich mich ein bisschen nach Einfachheit.
Also zurück nach Tkinter, einfach, klar, etwas wordy aber gut.

Darstellung in Windows sehr schön unter Linux halt Motif aber einigermassen akzeptablel.
Mit einigem Aufwand kann man eine Gui-Oberfläche ähnlich wie unter Android oder "Metro" erreichen, nur die Dialoge sind nativ.
Das ginge ja noch. Oberfläche Super, Dialoge puristisch, passt.

Mein Problem war folgendes:
- Einige Dialoge hatten unterschiedliche Schriftarten
- Nachdem ich die Tk Schriftart umgestellt hatte (via direktem Tk Zugriff, tk.call() ) wars etwas besser.
- Mindestens ab Python version 3.5 und tcl/tk 8.6 kann man Schriftarten auch direkt in tkinter verändern.
TK Fonts:
TkDefaultFont, TkTextFont, TkFixedFont, TkMenuFont, TkHeadingFont, TkCaptionFont, TkSmallCaptionFont, TkIconFont, TkTooltipFont.
- Damit im OpenFileDialg die Filenamen nicht extrem klein dargestellt wurden musste den Font für TkIconFont vergrössern.
- Mit ttk Style konnte ich die Buttons für die meisten Dialoge etwas schöner machen aber nicht alle also unbrauchbar.

Nachdem ich einige Versuche in tcl/tk (Sprache e tcl) angestellt hatte, stellte ich fest, dass alle meine Probleme mit tkinter nicht mehr vorhanden waren.
Im Original von tk gibt es keine Dialoge welche teilweise auf ttk beruhen, es gibt nur tk, so schön oder unschön aber konsistent.
Alle Schriftarten passen zum System, Windows, Linux...., keine seltsamen Unterschiede.

Es gibt Optionen für die Darstellung welche unter tkinter nicht vorhanden sind. Man kann Sie in der Dokumentation von tcl/tk nachschauen aber unter tkinter nur mit direkten tk aufrufen benutzen also mit. tk.call().

Soweit ich es feststellen kann ist tkinter, zumindest unter Linux, keine Reklame für Tk.

Anscheinend wird bei Python/tkinter nicht das originale tcl/tk verwendet (Button mal tk mal ttk), sondern eine angepasste Version.
Unter Linux ist sie suboptimal.

Abschliessend finde ich tkinter unter Windows absolut als brauchbar. Mit einiger Kreativität kann man durchaus moderne und ansprechende
Gui Oberflächen erstellen.

Unter Linux eher, wenn Schönheitsfehler nicht wichtig sind. Ich meine eine Gui muss nicht unbedingt schön oder konsistent sein um sie bedienen
zu können.

Es wäre halt schön die Pythonhüter würden mal tkinter vollkommen neu machen, bei PyTurte hat es ja auch funktioniert.

Tja, mein Ding hab ich ja nun festgehalten, ich freue mich auf wirklich alle Antworten von (auch die nicht so netten)

Mit Gruss ErikDerRothe


__deets__
User
Beiträge: 14541
Registriert: Mittwoch 14. Oktober 2015, 14:29

Was möchtest du denn für antworten? Eine Frage sehe ich erstmal nicht.
Benutzeravatar
__blackjack__
User
Beiträge: 13110
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@ErikDerRothe: Ich kanns nicht nachvollziehen. Insbesondere das Python nicht das originale Tk/Tcl verwendet ist gerade unter Linux eine sehr komische Idee, denn da wird ja das Tk/Tcl genommen das eben als Tk/Tcl installiert ist und mit dem auch Tk/Tcl-Programme auf dem System ausgeführt werden.

Zudem finde ich Tk manchmal etwas *zu* einfach und vermisse da Widgets und andere Klassen die man sich bei Tk von Hand nachbauen muss.

Was sollte denn da vollkommen neu gemacht werden? `tkinter` ist doch mehr oder weniger nur eine sehr dünne Schicht über Tk/Tcl. Und mehr sollte das IMHO auch nicht sein. Ist bei den anderen Rahmenwerken doch auch so.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten