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
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mittwoch 4. April 2007, 15:59

Ein Freund von mir ist auf PureBasic gestoßen... Er kennt zwar eigentlich auch Python, findet das auch gut... Aber es gibt zwei Punkte, die im bei PureBasic besonders gut gefallen:
  • 1. man kann native Programme kompilieren
    2. die GUI erstellung ist super einfach
OK, mit dem Kompelieren ist es so eine Sache. Die Interessiert mich jetzt nicht so. Aber hier im Forum kommen auch immer wieder die Fragen danach. Klar gibt es in Python auch Lösungen dafür. Aber es ist immer nur eine Art gepacktes/embedded-Python + Skript. Das Ergebnis ist also immer recht groß :(
Mit PureBasic kann man native Windows, Linux, AmigaOS und Mac OS X Programme erstellen. Das ist nett...

Was mich aber ehr Interessiert, ist der "Visual-Designer"... Damit kann man per Maus seine GUI zusammen klicken. Sehr nett. Kennt man von Visual-Basic und Co.
Die GUIs in PureBasic sollen auch Platformunabhängig sein.

Das ist schon eine Sache, wo ich mich frage, warum gibt es das nicht in Python???
OK, es gibt Glade oder PythonCard... Aber PythonCard ist wohl nicht mehr richtig aktuell und Glade steckt irgendwie noch in den Kinderschuhen.

Warum gibt es keinen Visual-Designer in Python??? Es gibt IMHO auch kein Komerzielles Tool dafür, oder?

Was sagt ihr?

Links:

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 4. April 2007, 16:07

jens hat geschrieben:Das ist schon eine Sache, wo ich mich frage, warum gibt es das nicht in Python???
OK, es gibt Glade oder PythonCard... Aber PythonCard ist wohl nicht mehr richtig aktuell und Glade steckt irgendwie noch in den Kinderschuhen.

Warum gibt es keinen Visual-Designer in Python??? Es gibt IMHO auch kein Komerzielles Tool dafür, oder?
Hast du dir Glade mal angeschaut? Das finde ich um Welcen besser als den Deisgner von VB, weil die VB-GUIs keine Layoutmanager verwendet haben. Es gibt auch Gazpacho, der war - das letzte mal als ich geschaut habe - auch ganz brauchbar. XRCed war auch nicht übel.. hat mir besser gefallen als wxGlade. Den Qt Designer und dessen UI-Dateien kannst du auch in Python-Quellcode kompilieren lassen und dann nutzen.

Komerziell? Kannst du haben: wxDesigner und DialogBlocks von Robert Röbling resp. Julian Smart. Der eine ist aus dem wxWidgets-Team, der andere hat wxWindows überhaupt erst gestartet.

Also eigentlich ist in Python ein Visual Designer-Überfluss.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
lunar

Mittwoch 4. April 2007, 16:14

jens hat geschrieben:Ein Freund von mir ist auf PureBasic gestoßen... Er kennt zwar eigentlich auch Python, findet das auch gut... Aber es gibt zwei Punkte, die im bei PureBasic besonders gut gefallen:
  • 1. man kann native Programme kompilieren
    2. die GUI erstellung ist super einfach
Was mich aber ehr Interessiert, ist der "Visual-Designer"... Damit kann man per Maus seine GUI zusammen klicken. Sehr nett. Kennt man von Visual-Basic und Co. Die GUIs in PureBasic sollen auch Platformunabhängig sein.

Das ist schon eine Sache, wo ich mich frage, warum gibt es das nicht in Python???
OK, es gibt Glade oder PythonCard... Aber PythonCard ist wohl nicht mehr richtig aktuell und Glade steckt irgendwie noch in den Kinderschuhen.
Ich selbst habe Glade nie genutzt, da ich für KDE programmiere. Aber es ist mittlerweile bei Version 3.2 angekommen, was doch für Stabilität spricht.
Warum gibt es keinen Visual-Designer in Python???
Weil es nicht die "Python-GUI" gibt (außer vlt. Tk). Stattdessen beherrscht Python über Bindings alle mögliche GUI Bibliotheken...
Du solltest also nicht nach einem GUI Designer für Python suchen, sondern nach einem GUI Designer für das bevorzugte GUI Toolkit. Und da gibt es eine ganze Menge:
QT/KDE - qtdesigner
WxWidgets - wxglade
GTK - glade
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mittwoch 4. April 2007, 16:33

lunar hat geschrieben:Du solltest also nicht nach einem GUI Designer für Python suchen, sondern nach einem GUI Designer für das bevorzugte GUI Toolkit.
Aber genau das ist IMHO das Problem... OK, ich stecke nicht so in der GUI Programmierung drin. Darum hoffe ich das ich nicht so ganz daneben liege...

Gerade die Trennung von Programmiersprache und GUI Toolkit, macht die Sache so kompliziert. Man kann nicht einfach im GUI Designer sagen, bei Button XY rufe Funktion XY auf...

Ich hatte mich vor langer Zeit mal mit wxGlade und XML als Beschreibung der Oberfläche beschäftigt. An dem Verknüpfen der GUI Elemente mit meinem Programm bin ich gescheitert...

EDIT1: Mit welchen der genannten Programme kann man *einfach* GUIs bauen und mit seinem Skript verdrahten???

EDIT2: Ich persönlich hätte nichts gegen eine einfache TK Lösung. Sieht zwar doof aus, bietet nicht viel, aber ist bei Python dabei. Das reicht für ganze einfache, kleine Dinge vollkommen aus.

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 4. April 2007, 16:54

jens hat geschrieben:Gerade die Trennung von Programmiersprache und GUI Toolkit, macht die Sache so kompliziert. Man kann nicht einfach im GUI Designer sagen, bei Button XY rufe Funktion XY auf...
Nicht? In Glade geht das. Man sagt dann in PyGTK nur noch "autoconnect" und fertig.
jens hat geschrieben:Ich hatte mich vor langer Zeit mal mit wxGlade und XML als Beschreibung der Oberfläche beschäftigt. An dem Verknüpfen der GUI Elemente mit meinem Programm bin ich gescheitert...
Gerade wxGlade ist ein Editor den ich persönlich für schlecht halte. Er kann nur XRC-Dateien lesen, sie aber nicht laden. Daher fand ich XRCed besser.
jens hat geschrieben:EDIT1: Mit welchen der genannten Programme kann man *einfach* GUIs bauen und mit seinem Skript verdrahten???
Glade. Ansonsten: Ausprobieren.
jens hat geschrieben:EDIT2: Ich persönlich hätte nichts gegen eine einfache TK Lösung. Sieht zwar doof aus, bietet nicht viel, aber ist bei Python dabei. Das reicht für ganze einfache, kleine Dinge vollkommen aus.
Gerade für Tk gibt es wohl keinen Designer. Tk hat aber auch kein XML-Format aus denen es dialoge generieren kann ala GLADE oder XRC.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mittwoch 4. April 2007, 17:11

Leonidas hat geschrieben:
jens hat geschrieben:Gerade die Trennung von Programmiersprache und GUI Toolkit, macht die Sache so kompliziert. Man kann nicht einfach im GUI Designer sagen, bei Button XY rufe Funktion XY auf...
Nicht? In Glade geht das. Man sagt dann in PyGTK nur noch "autoconnect" und fertig.
Hast du einen Link wo das erklärt wird? Hab ein wenig gesucht, aber nichts gefunden...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 4. April 2007, 17:26

jens hat geschrieben:Hast du einen Link wo das erklärt wird? Hab ein wenig gesucht, aber nichts gefunden...
Zum Beispiel hier, such auf der Seite einfach nach "autoconnect".
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Mittwoch 4. April 2007, 17:42

jens hat geschrieben:Was mich aber ehr Interessiert, ist der "Visual-Designer"...
Hi Jens!

VisualWX geht genau in diese Richtung. Das entspricht, meiner Meinung nach, am ehesten dem Visual Basic Ideal.

Man klickt sich seine Oberfläche zusammen. Mit einem Doppelklick auf einen Button, wird ein Eventhandler für diesen Button erstellt und der Fokus wird im Quellcode auf diesen Handler gesetzt, so dass man sofort Code eingeben kann.

http://visualwx.altervista.org/
http://www.trinity.unimelb.edu.au/~abul ... ncher.html

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

Mittwoch 4. April 2007, 19:25

Leonidas hat geschrieben: Gerade für Tk gibt es wohl keinen Designer. Tk hat aber auch kein XML-Format aus denen es dialoge generieren kann ala GLADE oder XRC.
Und genau das stimmt nicht!
Ich habe gehofft diese frage nicht beantworten zu müssen aber gut...
Ich behaupte einfache mal so, hier euch den am einfachsten zu bedienenden Gui-Designer vor zu stellen.

link: http://sourceforge.net/project/showfile ... p_id=24918

ladet euch den Gui Builder runter und habt fun am Gui erstellen mit Tkinter.
Für alle fragen und/oder hilfe, einfache an mich per Pn oder am besten im Tkinterunterforum.

Gruss
pyStyler
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

Mittwoch 4. April 2007, 20:13

Hi!

Da ich seit ca. 2 Jahren mit PureBasic programmiere schalte ich mich hier mal ein, wenn es recht ist.

Ich mag PB wirklich. Der VisualDesigner geht allerdings _NUR_ unter Windows. Unter Linux und Mac muss man die GUI auch wieder programmieren, ausser man nimmt Wine (pfui).

Was an PB ganz toll ist: ich habe eine GUI mit VD zusammengeklickt und lasse mir daraus mal nur den Code generieren, der die GUI anzeigt. Da ist noch keinerlei Bindung an die Events. Ja noch nicht mal ne Schleife, geschweige denn der Aufruf der GUI. Hier hat man die Freiheit, zu Coden wie man will.

Das Befehlsset ist auch ganz toll, weil ich z.B. mit OpenWindow(handle, posx, posy, groesse_x, groess_y, #FLAGS, "Titel") auf allen Systemen das gleiche Ergebnis habe.
Unter Windows wird damit die Winapi angesprochen, unter Linux das GTK und unter MacOSX das Cocoa (das heißt doch so, oder?) Wenn man die jeweilige API beherrscht kann man aber zusätzlich noch API-Befehle nutzen (WinAPI, GTK, Cocoa). Man kann DLL/SO einbinden und auch andere LIbs und extensions nutzen. Theoretisch wäre man nicht auf ein Toolkit festgelegt.


Demnach ist es ähnlich wxWidgets/wxPython.

Weiterer Vorteil: sehr gute IDE und viele Extensions/Libs/...

Nachteil (wenn man so will): prozedural, kein OOP (oder nur über Umwege)

Man erzielt damit auch sehr schnell gute Erfolge, wie ich finde.
Nur pickle fehlt! ;)


Nicht, dass ich Python weniger gut finde, aber PB hat schon auch seine Vorteile! Die binaries sind wirklich klein und schnell, haben keinen Overhead,...

Ausserdem gibt es doch für Python PythonCard, oder nicht?
Gruß!
rafael
User
Beiträge: 189
Registriert: Mittwoch 26. Juli 2006, 16:13

Mittwoch 4. April 2007, 21:43

C4S3 hat geschrieben:
Weiterer Vorteil: sehr gute IDE und viele Extensions/Libs/...
Ausserdem gibt es doch für Python PythonCard, oder nicht?
Also keine Batteries included...

Das ist dann auf der einen Seite ein Nachteil, da man immer Erweiterungen braucht und auf der anderen Seite ein Nachteil für Python, da es den Pythonpaket-Umfang groß macht...
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 4. April 2007, 23:29

pyStyler hat geschrieben:Und genau das stimmt nicht!
Oho, den kannte ich nicht. Welches Format benutzt der, um UI Dateien zu speichern? Kann Tkinter dieses Format auch laden?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

Donnerstag 5. April 2007, 07:16

Leonidas hat geschrieben:
pyStyler hat geschrieben:Und genau das stimmt nicht!
Oho, den kannte ich nicht. Welches Format benutzt der, um UI Dateien zu speichern? Kann Tkinter dieses Format auch laden?
es erstellt einen Pythonfile die man am besten importieren sollte.
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

Donnerstag 5. April 2007, 07:52

Also keine Batteries included...
Doch.

Aber so wie es für Pyhton eben zusätzliche Sachen gibt, gibt es die auch für PureBasic. Zumindest zum größten Teil.
Z.B. ist bei PureBasic ne "Batterie" dabei, die es mir ermöglicht, 2D Spiele im Fenster oder Vollbild zu schreiben. Bei Python brauche ich Pygame.

Andererseits hat Python "pickle". Sowas tolles hat Purebasic wieder nicht.

Hat eben alles sein Vor- und Nachteile. Manche Sachen werden in Python andere in PureBasic realisiert. Punkt.
Gruß!
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 5. April 2007, 09:04

C4S3 hat geschrieben:Ich mag PB wirklich. Der VisualDesigner geht allerdings _NUR_ unter Windows. Unter Linux und Mac muss man die GUI auch wieder programmieren, ausser man nimmt Wine (pfui).
Kann man denn die unter Windows erstellte GUI dann einfach unter Linux und Mac benutzten???
pyStyler hat geschrieben:
Leonidas hat geschrieben: Gerade für Tk gibt es wohl keinen Designer. Tk hat aber auch kein XML-Format aus denen es dialoge generieren kann ala GLADE oder XRC.
Und genau das stimmt nicht!
Wow! SpecTcl ist genau das was ich gesucht hab! Ist wirklich super einfach zu bedienen. Nur eine EXE für Windows und man kann loslegen.
Wenn ich irgendwann mal GUIs brauche, ist das meine erste Wahl.

SpecTcl stammt aus der ActiveState's Komodo IDE und ist nun OpenSource.

Download Link der "Ready-to-run single-file executables": http://sourceforge.net/project/showfile ... _id=219784 (Die sf.net Download Seite sollte mal aufgeräumt werden :)

Folgende Sachen kann man damit backen:
  • * Perl/Tk (8.0)
    * Perl/Tk (8.4)
    * Perl/Tkx (8.4)
    * Ruby/Tk (8.3)
    * Ruby/Tk (8.4)
    * Tcl/Tk (8.3)
    * Tcl/Tk (8.4)
    * Python/Tkinter (8.3)
    * Python/Tkinter (8.4)
So siehts aus:
Bild
Mehr unter: http://spectcl.sourceforge.net/ko3-guib ... ilder.html

EDIT: Da wir schon mal beim Thema sind... 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???

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten