Hey there,

In the application I'm building, I'm using Python 2.5 to place a toolbar
from Matplotlib 0.98.5.2 in a Qt 4 environment. Now I'd like to modify the
toolbar to suit our needs. So, I've done the following:



> from PyQt4 import QtGui
> from matplotlib.backends.backend_qt4 import NavigationToolbar2QT
> from matplotlib.backend_bases import NavigationToolbar2
> 
> class Toolbar(NavigationToolbar2QT) :
>       def __init__(self , parent , canvas, coordinates=True) :
>               self.canvas = canvas
>               self.coordinates = coordinates
>               QtGui.QWidget.__init__( self, parent )
>               NavigationToolbar2.__init__( self, canvas )
> 

I'd like to delete the configure subplots button, and add a new button in
it's place. However, I can't seem to find the configure subplots button, as
it is not listed in its method/object list. So, I had to use this crude
method:



>               pushButtonCounter = -1
>               for child in self.children():
>                       if str( type(child) ) == "<class 
> 'PyQt4.QtGui.QToolButton'>":
>                               pushButtonCounter += 1
>                               if pushButtonCounter == 6:
>                                       configuresubplots_button = child
> 

Also, Python 2.5 crashes when trying to do certain things with the button:



>               configuresubplots_button.deleteLater() # Crashes
>               # Ugh, I forgot what other kinds of operations make Python 
> crash... I
> think trying to connect and disconnect functions didn't go right... not
> sure though.
> 

These things, however, do work (or at least don't make Python crash):



>               configuresubplots_button.setEnabled(False) # Works
>               configuresubplots_button.setHidden(True) # Does not work, but 
> doesn't
> cause a crash, either.
>               configuresubplots_button.setIcon(QtGui.QIcon('newicon.PNG')) # 
> Works
>               configuresubplots_button.setToolTip('Another tool tip') # Works
>               configuresubplots_button.connect(child, 
> QtCore.SIGNAL('clicked()'),
> self.new_fuction) # Works, though this should only be done after you
> instantiate this class in your GUI. So, you have to loop again to find the
> button to connect it.
> 

So, in the end, I managed to change the configure_subplots button into the
button I want. However, such a method should not be necessary.
The question is whether I was doing something wrong, and if so, how I could
have done this differently?

My sincere thanks for your time and efforts!

Cheers,

Gert-Jan
-- 
View this message in context: 
http://www.nabble.com/Qt4-backend-question-tp24110367p24110367.html
Sent from the matplotlib - users mailing list archive at Nabble.com.


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to