neu in der Python Welt

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.
Antworten
drabo
User
Beiträge: 8
Registriert: Montag 21. November 2005, 08:25

Montag 21. November 2005, 08:41

hallo,

ich bin ganz neu in der python welt und habe eine grundsatzfrage.

Ich möchte gui anwendungen programmieren, ich habe mich für tkinter entschieden weil es schon eingebaut ist und weil es meiner meinung am einfachsten ist damit zu programmieren.

ich habe gehört das tkinter anwendungen scheisse aussehen unter linux, stimmt das? kann mir jemand einen screenshot zeigen von seiner gui?

soll ich mich lieber für pygtk entscheiden? gibt es gute bücher für pygtk?
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Montag 21. November 2005, 09:07

TKinter schaut auch unter Windows scheiße aus :)
Nimm wxPython wenn du Platform unabhängig sein willst, pygtk für Linux.

Ein pyGTK Tutorial gibts auf pygtk.org
TUFKAB – the user formerly known as blackbird
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 21. November 2005, 09:46

Also ich hatte ehr schlechte erfahrung mit wx gemacht...

Schau doch mal hier nach:
http://de.wikibooks.org/wiki/Python-Pro ... rammierung

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Montag 21. November 2005, 14:45

und was ist jetzt das beste???
mfg

Thomas :-)
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 21. November 2005, 15:19

Python Master 47 hat geschrieben:und was ist jetzt das beste???
Natürlich das, welches für deine Anforderungen am besten ist.

Tkinter zeichnet sich unter jeder Platform die Widgets selbst und sie sehen in jeder Platform genauso schlimm aus. Außerdem würde ich nicht sagen, dass Tkinter am einfachsten ist, die ganzen Lambda Konstrukte die in Tkinter zu sehen sind, können sich nicht mit dem hübschen PyGTK Callbacks messen.

Zu PyQt gibt es Doku, ist aber hakelig unter Windows (und wegen der Lizenz), zu PyGTK gibt es wohl die beste Doku und wxWidgets sieht meist auf allen Platformen am besten aus (aber die Doku.. und die Sache mit den App und den Frame und dem Panel finde ich grauenhaft).
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Montag 21. November 2005, 17:01

Also ich würde auch eher wxPython oder wxGTK nehmen.

Zwar kann man mit Tkinter einfache sachen wie ein Fenster mit nur einem Button schnell schreiben, sobald du aber sinnvolle Fenster erzeugst, kommst du schnell ins fluchen. Über wx hat jemand mal geschrieben (frei zitiert): "Bei wxPython zahlst du den Preis, dass du dich einarbeiten musst. Bei Tkinter zahlst du den Preis später, wenn du versuchst, etwas sinnvolles zu machen"

Ich jedenfalls würde immer wxPython, vielleicht auch PyGTK nehmen, aber niemals Tkinter.
drabo
User
Beiträge: 8
Registriert: Montag 21. November 2005, 08:25

Donnerstag 24. November 2005, 21:25

so habe nun Tkinter probiert und finde es beschränkt :-) will wxpython lernen aber wie wo gibt es dokumentation? das vielleicht --> http://wiki.wxpython.org/index.cgi/Getting_20Started ist doch ein witz oder? es happert sogar beim Hello World programm.

was mache ich falsch??

dieses beispiel funktioniert allerdings ist es nicht aus dem tutorial

Code: Alles auswählen

from wxPython.wx import *

class HelloWorld(wxApp):
      def OnInit(self):
	  frame = wxFrame(NULL,-1,"hello world")
	  frame.Show(true)
	  self.SetTopWindow(frame)
	  return true

app = HelloWorld(0)
app.MainLoop()
ich verzweifle..........

Edit (Leonidas): Code in Python-Tags gesetzt.
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Donnerstag 24. November 2005, 21:49

drabo hat geschrieben:will wxpython lernen aber wie wo gibt es dokumentation?
Die Dokumentation existiert (nur) in Form der Dokumentation des C++ Interfaces (Eigentheiten der Python-Version sind dort ebenfalls aufgelistet) www.wxwidgets.org
was mache ich falsch??

Code: Alles auswählen

	  return true
In Python wird "True" großgeschrieben.
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Freitag 25. November 2005, 09:29

drabo hat geschrieben: so habe nun Tkinter probiert und finde es beschränkt Smile will wxpython lernen aber wie wo gibt es dokumentation? das vielleicht --> http://wiki.wxpython.org/index.cgi/Getting_20Started ist doch ein witz oder? es happert sogar beim Hello World programm.

Code: Alles auswählen

from wxPython.wx import *

class HelloWorld(wxApp):
      def OnInit(self):
	  frame = wxFrame(NULL,-1,"hello world")
	  frame.Show(true)
	  self.SetTopWindow(frame)
	  return true

app = HelloWorld(0)
app.MainLoop()
ich verzweifle..........
Jetzt sei nicht so :)
So schlecht ist die GettingStarted auch wieder nicht.

Die Dokumentation: ja, immer wieder das gleiche... :?

Wenn niemand beginnt, eine vernünftige zu machen oder
besser gesagt noch ein besseres Einstiegstutorial, wird es natürlich nie was.

Am besten, Editor mit guten Calltips und Codecompletion verwenden,
bereits vorhandene Sourcen anschauen (PyPe, Spe, Boa, DrPython; um
einige grössere Projekte zu erwähnen).

Dass ich mich damals für wxPython entschieden habe, war einfach das
umfangreiche Demo, das mich sehr beeindruckte.
Seit einigen Monaten kann man die Demos auch ändern, unter modified
abspeichern und experimentieren.
Auch PyCrust ist nett. (Interaktive Shell mit namespace viewer, Calltips
und CodeCompletion).
Ausserdem erscheint im Jan. 2006 "wxPython in Action" von Robin Dunn.

Ansonsten würde ich die Wiki Seiten durchforsten, und spaeter, falls
Interesse für wxPython besteht, die User Mailing liste abbonieren,
die man auch über NNTP bei Gmane beziehen kann.

Seit wxPython 2.5 sollte man import wx aufrufen:

Code: Alles auswählen

import wx

class HelloWorld(wx.App):
    def OnInit(self):
        frame = wx.Frame(None,-1,"hello world")
        frame.Show(True)
        self.SetTopWindow(frame)
        return True

app = HelloWorld(0)
app.MainLoop()
PyGTK kenne ich nicht, sieht auch nicht viel schöner aus als TkInter.
Clython
User
Beiträge: 151
Registriert: Samstag 21. August 2004, 13:58
Wohnort: Schweiz, BE-2500

Freitag 25. November 2005, 09:40

PyQT wäre sonst auch noch eine Möglichkeit. Aber das hat sich ja inzwischen erledigt...
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 25. November 2005, 14:05

Francesco hat geschrieben:PyGTK kenne ich nicht, sieht auch nicht viel schöner aus als TkInter.
Doch durchaus. PyGTK Programme sehen wie alle GTK und GNOME Programme aus, also passen sie sich an das GTK-Theme an, so dass du vom optischen nicht sagen kannst, ob das Programm PyGTK oder GTK+ unter der Haube nutzt. Davon mal abgesehen nutzt wx ja auch GTK+ unter Linux/X11. Und eine Windows-Theme Engine gibt es auch, so dass GTK Programme sich auch an diese XP Luna Themes anpassen kann.

Das GTK+ schlecht aussieht hat nur bis Version 1.x gestimmt, aber 2.x ist am 11. März 2002 rausgekommen und es wird immer besser.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten