PureBasic <-> Python...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

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?
Gruß!
BlackJack

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".
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

blackbird hat geschrieben:Jetzt nur mal so eine Frage. Warum sollte man mit TK GUIs bauen?
vielleicht weil es einem Tkinter gefellt!
lunar

pyStyler hat geschrieben:
blackbird hat geschrieben:Jetzt nur mal so eine Frage. Warum sollte man mit TK GUIs bauen?
vielleicht weil es einem Tkinter gefellt!
So sieht Tkinter auf meinem Debian System aus:
Bild

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.
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

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.
Gruß!
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

lunar hat geschrieben:
pyStyler hat geschrieben:
blackbird hat geschrieben:Jetzt nur mal so eine Frage. Warum sollte man mit TK GUIs bauen?
vielleicht weil es einem Tkinter gefellt!
So sieht Tkinter auf meinem Debian System aus:
Bild

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
toller vergleich!
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

lunar hat geschrieben:So sieht Tkinter auf meinem Debian System aus:
So schlecht sieht das doch nicht aus. Die Schriften sind nur nicht Antialiased, ansonsten ist es doch das selbe wir die PyQT Geschichte...

Hast du einen Aufwendigeren Dialog in TK?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
lunar

jens hat geschrieben:
lunar hat geschrieben:So sieht Tkinter auf meinem Debian System aus:
So schlecht sieht das doch nicht aus. Die Schriften sind nur nicht Antialiased,
Ja, das allein ist aber schon hässlich... Dazu kommt noch mehr: keine Icons,
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.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

lunar 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.
Also da sind wir uns schon mal einig ;)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

lunar hat geschrieben:
jens hat geschrieben:
lunar hat geschrieben:So sieht Tkinter auf meinem Debian System aus:
So schlecht sieht das doch nicht aus. Die Schriften sind nur nicht Antialiased,
Ja, das allein ist aber schon hässlich... Dazu kommt noch mehr: keine Icons,
wieso keine icons? Geht das mit Tkinter nicht, oder weisst du nicht wie man das Programmiert ?
lunar 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.
sorry aber extremst widersprüchlich
Zuletzt geändert von pyStyler am Donnerstag 5. April 2007, 17:01, insgesamt 1-mal geändert.
lunar

jens hat geschrieben:
lunar 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.
Also da sind wir uns schon mal einig ;)
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.

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:

Bild

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.
lunar

pyStyler hat geschrieben:
lunar hat geschrieben:
jens hat geschrieben:
lunar hat geschrieben:So sieht Tkinter auf meinem Debian System aus:
So schlecht sieht das doch nicht aus. Die Schriften sind nur nicht Antialiased,
Ja, das allein ist aber schon hässlich... Dazu kommt noch mehr: keine Icons,
wieso keine icons? Geht das mit Tkinter nicht, oder weisst du nicht wie man das Programmiert ?
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...
lunar 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.
sorry aber extremst widersprüchlich
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.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

lunar hat geschrieben:Bild
Welche Version ist das eigentlich? Von wegen:
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???

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
lunar

jens hat geschrieben:Welche Version ist das eigentlich? Von wegen:
Der About-Dialog von Idle zeigt 8.4.

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.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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?
Warum macht Tk es dann nicht genauso wie WX?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
lunar

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?
Kommt darauf an, was du unter "native look" verstehst...
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 ;)
Warum macht Tk es dann nicht genauso wie WX?
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.
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

hier einbeispiel mit Icons.
Bild
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.
Benutzeravatar
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 :twisted: )

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
lunar

pyStyler hat geschrieben:was ist jetzt daran so hässlich
Nichts, aber was anderes habe ich ja auch nie gesagt: Unter Windows sieht Tk ja ganz annehmbar aus.

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.
lunar

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 :twisted: )
Feel free... Mir fehlt momentan leider ein bisschen Zeit (wg. Abitur :x ).
Vielleicht schaffe ichs ja, mich morgen mal dran zu setzen...
Antworten