Hallo @ all,
ich habe Python 2.4 und dazu das wxPython für Py2.4 (unicode) installiert.
Laut dem Buch "wxPython in Action" sollte import images funktionieren.
Ich bekomme jedoch folgenden Fehler:
>>> import images
Traceback (most recent call last):
File "<pyshell#0>", line 1, in -toplevel-
import images
ImportError: No module named images
Wo bekomme ich das images Modul her?
Gruss michael
import images Problem
Jedoch funktioniert das Programm nicht Weis jemand wesshalb? Hab ich genau so abgetippt wies im Buch steht
Folgender Code:
Folgende Fehlermeldung:
Traceback (most recent call last):
File "C:\Dokumente und Einstellungen\Michael.Strecker\Desktop\PyTutFiles\statusBar.py", line 31, in -toplevel-
frame = ToolbarFrame(parent = None, id = -1)
File "C:\Dokumente und Einstellungen\Michael.Strecker\Desktop\PyTutFiles\statusBar.py", line 12, in __init__
toolbar.AddSimpleTool(wx.NewId(), images.getNewBitmap(), "New", "Long help or 'New'")
AttributeError: 'module' object has no attribute 'getNewBitmap'
>>>
Folgender Code:
Code: Alles auswählen
import wx
import images
class ToolbarFrame(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id, 'Toolbars', size = (300, 200))
panel = wx.Panel(self)
panel.SetBackgroundColour('White')
statusBar = self.CreateStatusBar()
toolbar = self.CreateToolBar()
toolbar.AddSimpleTool(wx.NewId(), images.getNewBitmap(), "New", "Long help or 'New'")
toolbar.Realize()
menuBar = wx.MenuBar()
menu1 = wx.Menu()
menuBar.Append(menu1, "&File")
menu2 = wx.Menu()
menu2.Append(wx.NewId(), "&Copy", "Copy in status bar")
menu2.Append(wx.NewId(), "C&ut", "")
menu2.Append(wx.NewId(), "Paste", "")
menu2.AppendSeparator()
menu2.Append(wx.NewId(), "&Options...", "Display Options")
menuBar.Append(menu2, "&Edit")
self.SetMenuBar(menuBar)
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = ToolbarFrame(parent = None, id = -1)
frame.Show()
app.MainLoop()
Traceback (most recent call last):
File "C:\Dokumente und Einstellungen\Michael.Strecker\Desktop\PyTutFiles\statusBar.py", line 31, in -toplevel-
frame = ToolbarFrame(parent = None, id = -1)
File "C:\Dokumente und Einstellungen\Michael.Strecker\Desktop\PyTutFiles\statusBar.py", line 12, in __init__
toolbar.AddSimpleTool(wx.NewId(), images.getNewBitmap(), "New", "Long help or 'New'")
AttributeError: 'module' object has no attribute 'getNewBitmap'
>>>
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi de_master!de_master hat geschrieben:Jedoch funktioniert das Programm nicht Weis jemand wesshalb? Hab ich genau so abgetippt wies im Buch steht
Das ist ein schlechtes Beispiel. Das hätte, meiner Meinung nach, nicht ins Buch gehört.
Die Funktion getNewBitmap() gibt es nicht. Vielleicht gab es sie Früher einmal. Aber Früher war die Demo, glaube ich, auch noch in wxPython integriert. Wenn du dieses Beispiel unbedingt zum Laufen bekommen möchtest, dann musst du auf das Modul "images.py" verzichten und dir selber ein paar Bilder laden.
Du könntest dir aber auch eine ältere "images.py" besorgen. Aber so wichtig wird dieses Beispiel ja nicht für dich sein, oder?
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Fehler erkannt - Fehler gebannt
Anstatt
versuche mal
Gruss
Anstatt
Code: Alles auswählen
import images
Code: Alles auswählen
from wx.lib import pydocview as images
Auf der Manning Website kann man sich die ganzen Beispiele runterladen.pr0stAta hat geschrieben:Fehler erkannt - Fehler gebannt
Anstattversuche malCode: Alles auswählen
import images
GrussCode: Alles auswählen
from wx.lib import pydocview as images
Da gibt es auch das images.py unter Chapter2 Verzeichnis.
http://www.manning.com/rappin/
Source ist:
http://www.manning-source.com/books/rap ... in_src.zip
also images.py direkt enthält:
Code: Alles auswählen
#----------------------------------------------------------------------
# This file was generated by encode_bitmaps.py
#
from wx import ImageFromStream, BitmapFromImage
from wx import EmptyIcon
import cStringIO
def getNewData():
return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0f\x08\x06\
\x00\x00\x00\xedsO/\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
\x00YIDATx\x9c\xed\xd31\n@!\x0c\x03\xd0\xa4\xfe\xfb\xdfX\xe3\xf0\x97R\xa5(.\
\x0ef\x13\xe45\xa2\x92Vp\x92\xcf/\xd4\xaa\xb2\xcd\xb4\xc2\x14\x00\x00in\x90\
\x84ZUDl\xa9\xa7\xc3c\xcb-\x80\xfc\x87{d8B6=B\xdb\rfy\xc0\r\xc0\xf0\x0e\xfc\
\x1d\xaf\x84\xa7\xbf\xb1\x03\xe1,\x19&\x93\x9a\xd2\x97\x00\x00\x00\x00IEND\
\xaeB`\x82'
def getNewBitmap():
return BitmapFromImage(getNewImage())
def getNewImage():
stream = cStringIO.StringIO(getNewData())
return ImageFromStream(stream)
Interessant ist auch das Author Online Forum:
http://www.manning-sandbox.com/forum.jspa?forumID=202
Dort werden Bugs im Buch diskutiert und solche Anfrage kannst du auch stellen (wie hier mit deinem Problem mit images.py).
Gerold hat Recht, das Beispiel ist ein bisschen unglücklich gewählt.
Aber das beste ist ohnehin, den ganzen Source herunterzuladen.
Um das Problem zu lösen habe ich die images.py Datei in den Lib Ordner kopiert.
Dann das getNewBitmap gegen getPyBitmap ausgetauscht.
Scheint alternativ zu funktionieren.
Statt einem Ordner (wie im Buch) sieht man: ein Stück Torte.
Kein Witz !
Dann das getNewBitmap gegen getPyBitmap ausgetauscht.
Scheint alternativ zu funktionieren.
Statt einem Ordner (wie im Buch) sieht man: ein Stück Torte.
Kein Witz !
Programmieranfänger
Bücher:
Python 3 - Das umfassende Handbuch (J.Ernesti, P. Kaiser - 3. akt. und erw. Auflage 2012) = ABSOLUTER MÜLL !!
wxpython in action (englisch)
Bücher:
Python 3 - Das umfassende Handbuch (J.Ernesti, P. Kaiser - 3. akt. und erw. Auflage 2012) = ABSOLUTER MÜLL !!
wxpython in action (englisch)