Stimmt, das mit den Dokus ist so eine Sache. Vielleicht ist dies der Grund, warum ich so gerne mit PureBasic arbeite, weil die Doku so stimmig ist.
Hier mal als Beispiel die Online-Doku:
http://www.purearea.net/pb/german/manual/Reference.html
Ich kann mich erinnern einen Podcast (python411) über wxPython gehört zu haben, wo es auch darum ging. Da war dann eine Aussage der Entwickler: "Well, this feature is already implemented, but there is just no manual about it. We prefer coding new features, than documenting them..."
Das ist halt auf der einen Seite gut, auf der anderen eben nicht - weil wie soll man eine Auswahl treffen, wenn man nicht weiß, was das Tool denn kann?
PureBasic <-> Python...
Viele Beispiele in der Doku kann auch Nachteile haben. Ich wage jetzt einfach mal zu behaupten, dass ein Grund für teilweise wirklich scheussliche PHP-Quelltexte die man so in den weiten des Netzes findet, die Beispiele sind, aus denen sich viele Anfänger ihre Programme zusammenbasteln ohne wirklich zu verstehen was da eigentlich passiert. Da werden dann Beispielschnippsel ohne Sinn und Verstand solange mutiert bis sie das gewünschte tun, ohne das der "Programmierer" erklären könnte *warum* es funktioniert.
Wenn eine Sprache oder Bibliothek dann noch ein paar Jahre auf dem Buckel hat und ein paar stilistische Änderungen durchgemacht hat, existieren Beispiele in mehreren "Stilen" im Netz die dann auch fröhlich zusammengerührt werden.
Wenn es zum Beispiel viele Beispiele zu wxPython mit manuell erzeugten IDs gäbe, wäre es schwierig diese Hässlichkeit "auszurotten". Ich erinnere in diesem Zusammenhang nur an ``from Tkinter import *`` und die Verteidigung: "aber das stand doch so in allen Beispielen die ich gelesen habe".
Wenn eine Sprache oder Bibliothek dann noch ein paar Jahre auf dem Buckel hat und ein paar stilistische Änderungen durchgemacht hat, existieren Beispiele in mehreren "Stilen" im Netz die dann auch fröhlich zusammengerührt werden.
Wenn es zum Beispiel viele Beispiele zu wxPython mit manuell erzeugten IDs gäbe, wäre es schwierig diese Hässlichkeit "auszurotten". Ich erinnere in diesem Zusammenhang nur an ``from Tkinter import *`` und die Verteidigung: "aber das stand doch so in allen Beispielen die ich gelesen habe".
So sieht Tkinter auf meinem Debian System aus:pyStyler hat geschrieben:vielleicht weil es einem Tkinter gefellt!blackbird hat geschrieben:Jetzt nur mal so eine Frage. Warum sollte man mit TK GUIs bauen?
Findest du das etwa schön?
Im Vergleich dazu mal ein Screenshot mit PyQT/PyKDE auf dem gleichen System: http://keyjnotegui.berlios.de/img/scree ... review.png
Zuletzt geändert von lunar am Donnerstag 5. April 2007, 16:42, insgesamt 1-mal geändert.
Tja, das stimmt.
from Tkinter import * habe ich auch oft genug gelesen...
Aber wie an meinem Obigen Beispiel: das ist die Original Doku, die auch immer aktuell gehalten wird und nicht ein "ich schreib mal eben aus Langeweile ein ...".
Was ich sonderbar finde: ich kann mich erinnern über Python gehört zu haben (vor laaaanger Zeit), dass es so minimalistisch ist, damit TIMTOWTDI zu vermeiden. Aber gerade bei snippets hier sehe ich immer wieder, das unterschiedliche Charaktere gerade zu diametral-entgegengesetzte Programmierstile haben.
Btw: so schlimm finde ich Tkinter gar nicht.
from Tkinter import * habe ich auch oft genug gelesen...
Aber wie an meinem Obigen Beispiel: das ist die Original Doku, die auch immer aktuell gehalten wird und nicht ein "ich schreib mal eben aus Langeweile ein ...".
Was ich sonderbar finde: ich kann mich erinnern über Python gehört zu haben (vor laaaanger Zeit), dass es so minimalistisch ist, damit TIMTOWTDI zu vermeiden. Aber gerade bei snippets hier sehe ich immer wieder, das unterschiedliche Charaktere gerade zu diametral-entgegengesetzte Programmierstile haben.
Btw: so schlimm finde ich Tkinter gar nicht.
Gruß!
toller vergleich!lunar hat geschrieben:So sieht Tkinter auf meinem Debian System aus:pyStyler hat geschrieben:vielleicht weil es einem Tkinter gefellt!blackbird hat geschrieben:Jetzt nur mal so eine Frage. Warum sollte man mit TK GUIs bauen?
Findest du das etwa schön?
Im Vergleich dazu mal ein Screenshot mit PyQT/PyKDE auf dem gleichen System: http://keyjnotegui.berlios.de/img/scree ... review.png
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
So schlecht sieht das doch nicht aus. Die Schriften sind nur nicht Antialiased, ansonsten ist es doch das selbe wir die PyQT Geschichte...lunar hat geschrieben:So sieht Tkinter auf meinem Debian System aus:
Hast du einen Aufwendigeren Dialog in TK?
Ja, das allein ist aber schon hässlich... Dazu kommt noch mehr: keine Icons,jens hat geschrieben:So schlecht sieht das doch nicht aus. Die Schriften sind nur nicht Antialiased,lunar hat geschrieben:So sieht Tkinter auf meinem Debian System aus:
Nein, aus nahe liegenden Gründen nicht: Ich verwenden TK nicht... Unter Linux nehme ich ausschließlich PyQT/PyKDE.Hast du einen Aufwendigeren Dialog in TK?
Dieser Dialog stammt aus einem kleinen (~ 50 Zeilen) Windows-Skript, was ich mir geschrieben habe, um den nervigen Autorun auszuschalten. Dafür wäre es mir doch zu viel Aufwand gewesen, extra wxwidgets oder pyqt zu installieren. Aber aufwendigere Dinge würde ich auch unter Windows mit PyQT machen.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Also da sind wir uns schon mal einiglunar hat geschrieben:Dieser Dialog stammt aus einem kleinen (~ 50 Zeilen) Windows-Skript [...] Dafür wäre es mir doch zu viel Aufwand gewesen, extra wxwidgets oder pyqt zu installieren.
wieso keine icons? Geht das mit Tkinter nicht, oder weisst du nicht wie man das Programmiert ?lunar hat geschrieben:Ja, das allein ist aber schon hässlich... Dazu kommt noch mehr: keine Icons,jens hat geschrieben:So schlecht sieht das doch nicht aus. Die Schriften sind nur nicht Antialiased,lunar hat geschrieben:So sieht Tkinter auf meinem Debian System aus:
sorry aber extremst widersprüchlichlunar hat geschrieben: Hast du einen Aufwendigeren Dialog in TK?
Nein, aus nahe liegenden Gründen nicht: Ich verwenden TK nicht... Unter Linux nehme ich ausschließlich PyQT/PyKDE.
Dieser Dialog stammt aus einem kleinen (~ 50 Zeilen) Windows-Skript, was ich mir geschrieben habe, um den nervigen Autorun auszuschalten. Dafür wäre es mir doch zu viel Aufwand gewesen, extra wxwidgets oder pyqt zu installieren. Aber aufwendigere Dinge würde ich auch unter Windows mit PyQT machen.
Zuletzt geändert von pyStyler am Donnerstag 5. April 2007, 17:01, insgesamt 1-mal geändert.
Ja, mit dem Unterschied, dass ich unter Windows nicht viel mache (eigentlich ist es nur noch zum Zocken da). Deswegen ist diese Skript ungefähr das komplexeste, was ich je mit Python unter Windows geschrieben habe.jens hat geschrieben:Also da sind wir uns schon mal einiglunar hat geschrieben:Dieser Dialog stammt aus einem kleinen (~ 50 Zeilen) Windows-Skript [...] Dafür wäre es mir doch zu viel Aufwand gewesen, extra wxwidgets oder pyqt zu installieren.
Unter Linux habe ich noch nie Tkinter verwendet. Selbst den kleinsten Dialog mache ich mit PyQT/PyKDE. (Ok, unter Linux ist die Installation auch einfacher: aptitude install python-qt3 python-kde3 qt3-designer und fertig )
Btw, ich habe mal Idle unter Linux installiert:
Findest du es jetzt immer noch schön? Da sieht sogar die GUI von GNU Emacs besser aus und die ist nun wirklich nicht modern.
Nein, ich weiß nicht wie das geht (warum auch?), ich kann mir aber vorstellen, dass es mit Tkinter durchaus möglich ist. Nur: Idle hat bei mir keine Icons... Außerdem ist es bei PyKDE extrem einfach, für Standard-Zeug wie "Beenden" oder "Öffnen" ein Icon her zu zaubern: Einfach auf KStdAction zurückgreifen und an einen Button binden. Damit habe ich einen schönen Button mit Icon in ca. 3 Zeilen. Ich muss das Icon weder selbst laden, noch mich um dessen Pfad oder Format kümmern...pyStyler hat geschrieben:wieso keine icons? Geht das mit Tkinter nicht, oder weisst du nicht wie man das Programmiert ?lunar hat geschrieben:Ja, das allein ist aber schon hässlich... Dazu kommt noch mehr: keine Icons,jens hat geschrieben:So schlecht sieht das doch nicht aus. Die Schriften sind nur nicht Antialiased,lunar hat geschrieben:So sieht Tkinter auf meinem Debian System aus:
Wieso? Ich bin nie unter Windows unterwegs... Mehr als 50 Zeilen habe ich mit Python unter Windows nie geschrieben... Unter Linux (meinem Hauptsystem) hab ich dagegen noch nie Tkinter verwendet.sorry aber extremst widersprüchlichlunar hat geschrieben: Hast du einen Aufwendigeren Dialog in TK?
Nein, aus nahe liegenden Gründen nicht: Ich verwenden TK nicht... Unter Linux nehme ich ausschließlich PyQT/PyKDE.
Dieser Dialog stammt aus einem kleinen (~ 50 Zeilen) Windows-Skript, was ich mir geschrieben habe, um den nervigen Autorun auszuschalten. Dafür wäre es mir doch zu viel Aufwand gewesen, extra wxwidgets oder pyqt zu installieren. Aber aufwendigere Dinge würde ich auch unter Windows mit PyQT machen.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Welche Version ist das eigentlich? Von wegen:lunar hat geschrieben:
jens hat geschrieben:Ein dickes Minus hat Tk ja immer erhalten, weil es nicht das 'native look and feel' des Betriebssystem geboten hat. Nun steht auf http://de.wikipedia.org/wiki/Tk_%28Toolkit%29 das Tk ab Version 8 das bietet. Wie siehts damit wirklich aus???
Der About-Dialog von Idle zeigt 8.4.jens hat geschrieben:Welche Version ist das eigentlich? Von wegen:
Es ist ja auch nicht wirklich falsch, was Wikipedia behauptet: Das ist schon ein "natives" Linux-Look-n-Feel. Blöd nur, dass es unter Linux mehrere Toolkits gibt, die alle unterschiedlich aussehen. Tkinter hält sich halt nicht an moderne Toolkits von Stile eines GTK (wie z.B. wxwidgets unter Linux) oder QT, sondern eben an ein Uralt-Toolkit namens Motif (genau wie Java bis Version 1.4).
Unter Windows war es bis 2000 einfacher: Da gab es nur das "Win32" Toolkit, welches von der Win-API geboten wurde. Aber man sieht ja schon an XP, dass solche "Look-n-Feel-Emulationen" sehr problematisch sind. Viele hatten schon mit den neuen XP-Menüs oder XP-Buttons Probleme... Vom Hören-Sagen soll es unter Vistas Aero ja überhaupt nicht mehr funktionieren, wie blackbird ja schon gesagt hat.
Kommt darauf an, was du unter "native look" verstehst...jens hat geschrieben:Das sind ein paar sehr Interessante Aspekte... Weist du spontan wie das wx macht? Wx ist doch irgendwie das einzige was überall den native Look drauf hat, oder?
Genau genommen gibt es für Linux keinen "native look", sondern nur verschiedene Toolkits... Uraltes Zeug wie Motif, und moderne Toolkits wie Gtk und QT. Tkinter hat, so gesehen, unter Linux auch einen "native look", nur eben einen alten.
WxWidgets ahmt sowohl unter Windows als auch unter Linux den Look eines anderen Toolkits nach: Unter Windows hält es sich an die Win32 API, unter Linux orientiert es sich an GTK, wahrscheinlich, weil die WxWidgets Controls einfach nur Wrapper um Win32 bzw. Gtk Controls sind.
QT dagegen emuliert unter Windows zwar den Look des Win32 Toolkits, unter Linux dagegen hat es seinen eigenen Stil, der mittels Style-Plugins auch veränderbar ist (weil es unter Linux eben nicht das Look-n-Feel gibt).
Gtk folgt unter Linux auch seinem eigenen Stil. Unter Windows emuliert es den Windows-Stil nur unvollständig: Man erkennt z.B. an Gaim, dass es kein echtes Windows-Programm ist.
Ansonsten kann ich dir unter Windows nicht zu einem Toolkit raten, da mir dort die Erfahrung fehlt Alle drei Toolkits (wxwidgets, gtk und qt ab version 4) laufen problemlos unter Windows. Letztlich ist es also Geschmackssache. Nimm das, was dir von der API und vom Programmierstil mehr liegt, wäre meine Empfehlung. Ich selbst bin nur bei PyQT gelandet, weil ich KDE Fan bin und KDE nunmal auf QT basiert. Deswegen ist meine persönliche Auswahl recht beschränkt
Weil tk uralt ist, und auch noch auf vielen uralten System eingesetzt wird, würde ich jetzt sagen. Genauer wissen das aber wahrscheinlich nur die Programmierer von Tk.Warum macht Tk es dann nicht genauso wie WX?
hier einbeispiel mit Icons.
was ist jetzt daran so hässlich
EDIT (jens): Link korrigiert.
EDIT/2(pyStyler): das beispiel stammt nicht von mir
was ist jetzt daran so hässlich
EDIT (jens): Link korrigiert.
EDIT/2(pyStyler): das beispiel stammt nicht von mir
Zuletzt geändert von pyStyler am Donnerstag 5. April 2007, 17:59, insgesamt 1-mal geändert.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
@lunar: Danke für die Info's! Das sollte IMHO mal unter http://de.wikibooks.org/wiki/Python-Pro ... rammierung eingetragen werden... (Oder am besten die ganze Seite in unser Wiki übernehmen )
Nichts, aber was anderes habe ich ja auch nie gesagt: Unter Windows sieht Tk ja ganz annehmbar aus.pyStyler hat geschrieben:was ist jetzt daran so hässlich
Aber wie wär's, wenn du dir mal die Screenshots anschaust, die ich unter Linux gemacht habe? Da ist Tk nämlich hässlich, wie man auf den Screenshots sehen kann.
Feel free... Mir fehlt momentan leider ein bisschen Zeit (wg. Abitur ).jens hat geschrieben:@lunar: Danke für die Info's! Das sollte IMHO mal unter http://de.wikibooks.org/wiki/Python-Pro ... rammierung eingetragen werden... (Oder am besten die ganze Seite in unser Wiki übernehmen )
Vielleicht schaffe ichs ja, mich morgen mal dran zu setzen...