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

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:

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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 (former) Modvoice
lunar

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

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.

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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

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

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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 (former) Modvoice
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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

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

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

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
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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

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

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

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???

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Jetzt nur mal so eine Frage. Warum sollte man mit TK GUIs bauen?
TUFKAB – the user formerly known as blackbird
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dumme Frage! Wenn man eine GUI braucht, warum nicht?

Eignet sich gut für kleine Dinge und ist IMHO der einfachste/schnellste Weg mit diesem GUI Buildner und ist i.d.R. direkt installiert...

WX, GTK oder QT muss man immer zusätzlich installieren, bei einem kleinen Programm ist das wohl Overkill...

Dürfte wohl auch das einfachste für py2exe und Co. sein (Wenn es denn sein muß.)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

jens hat geschrieben:Dumme Frage! Wenn man eine GUI braucht, warum nicht?
Weil TK eine Qual für den Anwender ist. TK unter Linux ist besonders schlimm. Aber TK unter Vista sieht nicht besser aus. Bis auf Buttons und Scrollbars verhält sich jedes Element anders.
Eignet sich gut für kleine Dinge und ist IMHO der einfachste/schnellste Weg mit diesem GUI Buildner und ist i.d.R. direkt installiert...
Wenn für Windows entwickelst nimm auf jeden Fall wxPython. Egal ob da jetzt Overhead dabei ist. TK ist ja auch nicht gerade klein. Die User werden es dir danken.
TUFKAB – the user formerly known as blackbird
alen
User
Beiträge: 10
Registriert: Donnerstag 25. August 2005, 17:39
Wohnort: Duisburg
Kontaktdaten:

Hallo Zusammen,

die Situation ist aus der Praxis doch bekannt, man will ein Projekt beginnen oder bekommt eins aufbebrummt. Man versucht es mit seiner Lieblings Programmiersprache umzusetzen und kommt zum Schluss, dass so wie man es machen will, nicht geht.

Entweder man hat zu wenig Wissen in diesem Bereich oder man hat nicht die Zeit und die Lust lange Dokus zu studieren um das zu erreichen, was man sich so vorstellt. Python ist sehr flexibel ich mache mittlerweile sehr viel damit. Habe mich auch an GUIs versucht bin jedoch bei Dokumentation und vor allem mangelnden brauchbaren Beispielen gescheitert. Ich lerne nicht so gerne aus Dokus lieber aus der Praxis am Beispiel.

Und gerade bei Python und GUIs gibt es viel zu lesen wenn man die Suchmaschine befragt, sehr viel Theorie und wenig praxisbezogene Beispiele.

Mein Fazit: Für jeden Zweck gibt es die richtige Programmiersprache, GUI Toolkit oder Modul. Man kann sich nicht wirklich auf etwas festlegen mit dem man alles regeln kann. Die Entscheidung über die Wahl des Tools hängt immer vom Zeitrahmen ab, den man zur Verfügung hat und wie viel Energie man in die Einarbeitung stecken möchte oder kann.

Grüße
Alen Hopek
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ja, da hast du recht. Es gibt leider zu wenig Beispielcode in der Doku :( Das sieht z.B. bei PHP anders aus: Bei selfphp.info kann man sich wahllos Funktionen raussuchen und findet immer ein kleines Beispiel dabei, wie das hier: http://www.selfphp.info/funktionsrefere ... d_type.php

Das gibt es bei Python leider nicht :(

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