Dear Sebastian,

Your solution is simple, well described and it works with minimal effort
Thank you so much!
I hope the Matplotlib devellopers will take some action.

Tom

Op 6-2-2011 13:16, Sebastian Voigt schreef:
> Hello Tom,
>
> I encountered the same problem recently. The toolbar icons are a mix of
> png and svg images. The png images are displayed properly while the svg
> icons are not shown.  This is a problem with PyQt. I found a proposal on
> the web, where you should add the line
>
>       import PyQt4.QtXml
>
> somewhere to your code. This is because xml support is needed to read
> svg files. However, this did not work for me. Instead I now use a rather
> ugly workaround: I rename the original *.png icon files to *.svg for
> those icons that are expected to be svg files. Qt will then find an svg
> file but it's clever enough to load it as png.
> Save those modified files somewhere as resources. Add them to the
> data_files list in your setup script and they will overwrite the
> original files at every build so you don't have to care any more.
>
> You can find out which files have to be renamed by looking into
> PACKAGEPATH/matplotlib/backends/backend_qt4.py line 399 and below.
> Another approach would be to directly rename the files in
> NavigationToolbar2QT._init_toolbar() to *.png since matplotlib provides
> png and svg files for every icon.
>
> Greetings,
>       Sebastian
>
>
> Am 06.02.2011 11:20, schrieb Tom van der Hoeven:
>> Hello,
>>
>> I have a simple program
>> ---------------graf.py--------------
>>
>> import matplotlib.pyplot as plt
>> plt.plot([1,2,3,8,0,9,1,10,5])
>> plt.ylabel('some numbers')
>> plt.show()
>> --------------------------------------------------
>> If I look to a matplotlib figures on my screen using the exe made with
>> py2exe I mis all the buttons but one of the navigation bar.
>> If I work direct with the Python interpreted they are there.
>> I use the current version of Pythonxy
>>
>> ------------ setup.py --------------
>> from distutils.core import setup
>> import py2exe
>> import matplotlib
>>
>> name = 'graf.py'
>> INCLUDES = [ 'sip' , 'matplotlib.numerix.random_array'
>>                                  #        , 'PyQt4._qt'
>>                                           , 'matplotlib.backends'
>>                                           ,
>> 'matplotlib.backends.backend_qt4agg']
>> #['matplotlib.backends.backend_qt4agg']
>> EXCLUDES = []
>> [ '_gtkagg' , '_tkagg' , 'Tkconstants' , 'Tkinter' ,'tcl' ]
>> #['_tkagg' , '_ps' , '_fltkagg' , 'Tkinter' , 'Tkconstants' , '_cairo' ,
>> '_gtk' , 'gtkcairo' ,
>>               # 'pydoc' , 'sqlite3' , 'bsddb' , 'curses' , 'tcl' ,
>> '_wxagg' , '_gtagg' , '_cocoaagg' , '_wx' ]
>> DLL_EXCLUDES = ['MSVCP90.dll']
>> ICON_RESOURSES = []
>> OTHER_RESOURCES = []
>> DATA_FILES = matplotlib.get_py2exe_datafiles()
>>
>> setup(name             = name,
>>          version          = '1.0',
>>          options          = { "py2exe" : { 'compressed'   : 1,
>>                                            'optimize'     : 2,
>>                                            'bundle_files' : 2,
>>                                            'includes'     : INCLUDES,
>>                                            'excludes'     : EXCLUDES,
>>                                            'dll_excludes' : DLL_EXCLUDES }
>> } ,
>>          console          = [ { 'script'          : name,
>>                                 'icon_resources'  : ICON_RESOURSES,
>>                                 'other_resources' : OTHER_RESOURCES, } ] ,
>>          description      = 'Hele mooie',
>>          author           = 'Tom van der Hoeven',
>>          author_email     = 't...@vanderhoeven.biz' ,
>>          maintainer       = 'Tom van der Hoeven',
>>          maintainer_email = 't...@vanderhoeven.biz',
>>          license          = '',
>>          url              = 'http://projecthomepage.com',
>>          data_files       = DATA_FILES,
>>          )
>> -------------------------
>> can you help me
>>
>> Tom
>>
>> ------------------------------------------------------------------------------
>> The modern datacenter depends on network connectivity to access resources
>> and provide services. The best practices for maximizing a physical server's
>> connectivity to a physical network are well understood - see how these
>> rules translate into the virtual world?
>> http://p.sf.net/sfu/oracle-sfdevnlfb
>> _______________________________________________
>> Matplotlib-users mailing list
>> Matplotlib-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>
> ------------------------------------------------------------------------------
> The modern datacenter depends on network connectivity to access resources
> and provide services. The best practices for maximizing a physical server's
> connectivity to a physical network are well understood - see how these
> rules translate into the virtual world?
> http://p.sf.net/sfu/oracle-sfdevnlfb
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>

------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world? 
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to