ubuntuusers.de

Python - GUI = TkInter?

Status: Gelöst | Ubuntu-Version: Xubuntu 10.10 (Maverick Meerkat)
Antworten |

deadtronic

Anmeldungsdatum:
18. Februar 2010

Beiträge: 762

Hallo,

ich habe mich dazu entschlossen, mir mal Python anzuschauen. Da ich, nennt mich jetzt doof oder nicht, keine Lust habe sinnlose und unnützte Lernprogramme zu schreiben (und somit einfach mal was bekanntes in Python neuschreibe), frage ich mich auf was für eine GUI ich aufsetzen soll. Auf Python.org steht ja:

Tkinter is Python's de-facto standard GUI (Graphical User Interface) package. [...]
Tkinter is not the only GuiProgramming toolkit for Python. It is however the most commonly used one.

Nachvollziehen kann ich das jetzt aber nicht. Bei mir habe ich nur Exaile und Catfish, die wissentlich auf Python setzen, und beiden verwenden GTK+. Ausserdem habe ich schon Erfahrung mit GTKmm; soll ich jetzt auf PyGTK setzen oder mir doch besser mal TkInter anschauen, da es sozusagen Standard ist? (zumindest nach python.org)

Danke.

Gruß, deadtronic

Barabbas

Avatar von Barabbas

Anmeldungsdatum:
31. März 2007

Beiträge: 1651

Wohnort: Münster

Hallo deadtronic,

ich weiß natürlich nicht, welche Erfahrungen du allgemein hast. Prinzipiell wird aber davon abgeraten, Python direkt mit einer GUI zu erlernen. Das Interface verführt Anfänger immer wieder dazu, einfach irgendwie ein paar Fenster auf den Bildschirm zu bringen und den Python-Code so lange notdürftig um die Fenster "herumzubauen", bis das Ergebnis stimmt. Die vielen Lernprogramme haben also durchaus ihre Daseinsberechtigung ☺.

Ich will dir natürlich auch nicht groß reinquatschen, darum also zu deiner eigentlichen Frage: Auf Tkinter kannst du absolut verzichten, besonders wenn schon Vorerfahrung mit GTK vorhanden ist. Tk hat halt den Vorteil, dass es auch auf Windows-PCs zur Verfügung steht, weil es eben zum Standardpaket gehört (in 3.x eigentlich auch noch?). GTK-Abhängigkeiten müssen die Windows-Nutzer von Hand nachinstallieren.

In der Linux-Welt ist GTK neben QT extrem weit verbreitet - hier sticht das Argument für Tkinter also nicht. Weiterhin ist Tkinter recht angestaubt, sieht nicht besonders attraktiv aus und integriert sich schlecht in den UU-Desktop. Prinzipiell kannst du mit Tkinter natürlich auch alle möglichen Interfaces realisieren. Früher oder später wirst du dich aber vermutlich ohnehin nach einer aktuelleren GUI umsehen, die der Benutzererwartung mehr entspricht.

Kurzum: In deinem Fall kannst du Tkinter getrost vergessen. PyGTK ist recht anständig dokumentiert und - wie du schon sagst - auch auf dem Ubuntu-Desktop weit verbreitet.

Besten Gruß,

brb

P.S.:
Um zu verhindern, dass das hier zu einer allgemeinen Debatte über das beste Toolkit (QT, wxWindows, PyGTK, ...) ausartet: Dazu gibt es gerade aktuell diesen Thread.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

Tk hat halt den Vorteil, dass es auch auf Windows-PCs zur Verfügung steht, weil es eben zum Standardpaket gehört (in 3.x eigentlich auch noch?).

So ähnlich. TKinter ist in der Windows Python Installation drin, aber nicht TK an sich (was man logischerweise braucht). Bei Linux wird es i.d.R. über die Paketverwaltung mit installiert.

Nichts desto trotz fährt man bei TKinter relativ gut, wenn eine GUI OOTB cross-plattform laufen soll. Der Nachteil von TK ist, dass das Design ziemlich altbacken aussieht. "Moderner" sind da Qt- und GTK allemal. Auf eines der beiden setzen auch viele Python-Programme unter Ubuntu (Linux).

BTW: Für Programme, die auf GTK aufsetzen sollen gibt es mit Quickly ein nettes Tool in den Ubuntu-Quellen.

Ansonsten:

Prinzipiell wird aber davon abgeraten, Python direkt mit einer GUI zu erlernen.

+1

Gruß, noisefloor

deadtronic

(Themenstarter)

Anmeldungsdatum:
18. Februar 2010

Beiträge: 762

Hallo,

also das Aussehen ist schon das entscheidende Kriterium, werde dann wohl bei GTK bleiben. Hässliche Programme mag ich nicht benutzen und auch nicht schreiben. 🙄

Was Windows angeht, naja darauf wird ganz einfach keine Rücksicht genommen. Sollte mal etwas Cross-Platform sein, werden die Windowser halt GTK nachinstallieren müssen, was solls. Haben viele durch GIMP oder Pidgin ja eh schon drauf.

Prinzipiell wird aber davon abgeraten, Python direkt mit einer GUI zu erlernen.

+1

Ja, stimmt an sich schon. Aber da Python ja einen gut lesbaren Syntax hat und mir einige andere Sprachen schon bekannt sind, möchte ich mich jetzt nicht mit Kommandozeilenkram herumschlagen, wenn ich sowieso nicht vorhabe CLI-Programme zu schreiben. Keine Ahnung, vielleicht fliege ich mit so einer Strategie auch auf die Schnauze, was solls, dann hätte ich wieder was gelernt. 😉

Danke euch zwei.

Gruß

Antworten |