2009-05-17 8 views
2

J'ai un module qui démarre une application wxPython, qui charge un fichier wx.Bitmap à utiliser comme bouton de barre d'outils. Cela ressemble à ceci: wx.Bitmap("images\\new.png", wx.BITMAP_TYPE_ANY). Tout fonctionne bien quand je lance ce module par lui-même, mais quand j'essaie de l'importer et de l'exécuter à partir d'un module différent qui se trouve dans un répertoire différent, wxPython déclenche une exception. (L'exception est quelque chose d'interne concernant la barre d'outils, ce qui signifie, je pense, que le bitmap n'est pas chargé.)wxPython: Problèmes de chemin lors de l'exportation d'un bitmap

Que dois-je faire?

Répondre

2

« images \ new.png » est un chemin relatif, alors quand bitmap se charge elle depened quel est le cabot dir donc soit vous définissez dir cur

os.chdir("location to images folder") 

ou ont une fonction qui charge par rapport à votre programme par exemple

def getProgramFolder(): 
    moduleFile = __file__ 
    moduleDir = os.path.split(os.path.abspath(moduleFile))[0] 
    programFolder = os.path.abspath(moduleDir) 
    return programFolder 

bmpFilePath = os.path.join(getProgramFolder(), "images\\new.png") 
+0

Est-ce une pratique standard lors de la création d'une application avec wxPython? –

+0

Je dirais que c'est la pratique standard dans toute application que vous voulez utiliser des chemins relatifs, quelque part vous devez dire ce qui est également relatif –

+0

sinon vous pouvez intégrer l'image dans l'application, mais vous perdez de la flexibilité pendant le développement, –

Questions connexes