Pythonmania

Script Different!

Suchen in:
Suche:
Startseite | Schockwellenreiter | Impressum
Navigation
Artikel zu Python
Warum Python?
Hallo Welt
Wie alt ist der Kapitän?
Schmetterlingskurve
Apfelmännchen
Dancing Python
User-Agenten
fakeMail()
Template Engine
Python & XML (1)
wxPython (1)
wxPython (2)
wxPython (3)

How To's
ftp mit Python
Filedialog
Piddle und Mac OS X
XML-RPC
Blogger API

Zope und Python
ZWiki und Plone
Navigation und DTML
»Last Update«

Book Reviews
Python und Tkinter
Python Cookbook

Alte Artikel
O'Reilly
MacPython & Tkinter (d)
MacPython & Tkinter (e)
Modul W
Easy Dialogs
File Dialogs

Archiv
Oktober 2009
Juni 2009
Mai 2009
April 2009
März 2009
Februar 2009
Januar 2009
Dezember 2008
November 2008
Oktober 2008
September 2008
August 2008
Juli 2008
Juni 2008
Mai 2008
April 2008
März 2008
Februar 2008
Januar 2008
Dezember 2007
November 2007
Oktober 2007
September 2007
August 2007
Juli 2007
Juni 2007
Mai 2007
April 2007
März 2007
Februar 2007
Januar 2007
Dezember 2006
November 2006
Oktober 2006
September 2006
August 2006
Juli 2006
Juni 2006
Mai 2006
April 2006
März 2006
Februar 2006
Januar 2006
Dezember 2005
November 2005
Oktober 2005
September 2005
August 2005
Juli 2005
Juni 2005
Mai 2005
April 2005
März 2005
Februar 2005

RSS Icon
[フレーム]
Anzeigen
[フレーム]

Notebook

Das Haus vom Nikolaus

Book Cover Nach längerer Pause habe ich mal wieder versucht, mich mit wxPython, dem alternativen GUI-Toolkit für Python ( ) vertraut zu machen. Dabei gab es erst einmal eine Überraschung: wxPython ( ) ist beim Tiger mit dabei. Ich habe eine »jungfräuliche« Tiger-Installation (10.4.3) und mein wxPython-Script lief sofort.

(Übrigens gilt das gleiche auch für Tkinter ( ), dem »anderen« GUI-Toolkit für Python. Auch dies wurde ohne zusätzlichen Installationsaufwand sofort erkannt. Danke, Apple!)

Die Dokumentation zu wxPython ist — im Vergleich zu Tkinter — immer noch mau, doch das wird sich bald ändern: Bei Mannings erscheint im Januar »wxPython in Action« von Noel Rappin and Robin Dunn und wenn das Buch nur halb so gut ist wie das Tkinter-Buch aus dem gleichen Verlag (hier meine Review), dann hat die Suche nach der Dokumentation endgültig ein Ende.

Aber wie gesagt, momentan schlage ich mich mit den Grundlagen herum. Und habe, angesichts der Jahreszeit, erst einmal das Haus vom Nikolaus gezeichnet:


#!/usr/bin/pythonw
import wx
class DrawPanel(wx.Panel):
 def __init__(self, parent):
  wx.Panel.__init__(self, parent, -1)
  wx.EVT_PAINT(self, self.OnPaint)
 def OnPaint(self, event=None):
  dc = wx.PaintDC(self)
  dc.Clear()
  dc.SetPen(wx.Pen("BLACK", 1))
  dc.DrawLine(110, 110, 260, 260)
  dc.DrawLine(260, 110, 260, 260)
  dc.DrawLine(260, 110, 110, 260)
  dc.DrawLine(110, 110, 260, 110)
  dc.DrawLine(110, 110, 110, 260)
  dc.DrawLine(110, 260, 260, 260)
  dc.SetPen(wx.Pen("RED", 2))
  dc.DrawLine(110, 110, 185, 50)
  dc.DrawLine(185, 50, 260, 110)
if __name__ == "__main__":
 app = wx.PySimpleApp(0)
 frame = wx.Frame(None, -1, "Das Haus vom Nikolaus",
   size=(380, 380))
 DrawPanel(frame)
 frame.Show(True)
 app.MainLoop()

Ich glaube, der Code ist selbsterklärend. Die Klasse DrawPanel initialisiert eine von wx.Panel abgeleitete Zeichenfläche und zeichnet dann darauf. Dazu sind Zeichenflächen schließlich da. Und als Ergebnis sehen wir tatsächlich das berühmte Haus.

Screenshot

Man darf nur nicht vergessen, wegen der schon mehrfach beklagten Eigenart von Aqua, pythonw statt python aufzurufen. Und der kostenlose Klon des besten Editors der Welt entwickelt sich mehr und mehr zu meiner bevorzugten »Python-IDE«. Grins

Mir scheint, daß wxPython tatsächlich um einiges logischer und einfacher ist als Tkinter. Daher bin ich sehr gespannt auf das oben erwähnte Buch.

Technorati-Tags:

Posted by Jörg Kantel | Permalink | | | Python






Werbung:

Letzte Änderung: 16.08.2010; 16:09:33 Uhr | © Copyright: 2000 - 2010 by Kantel-Chaos-Team | Kontakt: der@schockwellenreiter.de

frontierLogo picture Made with a Mac Weblog Commenting and Trackback by HaloScan.com CC-Logo Site Meter

AltStyle によって変換されたページ (->オリジナル) /