Re: [Matplotlib-users] Qt4 Designer Example

2015-04-16 Thread Benjamin Root
That will be up to him. The only reason why I know about the work is
because our publisher wanted to make sure that our two books didn't cover
the same material. He isn't a regular on the mailing list, so I don't know
if he even would see this message. I'll let him know that there is interest.

Ben Root

On Wed, Apr 15, 2015 at 9:16 PM, Chris O'Halloran cmo...@gmail.com wrote:

 On 16 April 2015 at 09:51, Benjamin Root ben.r...@ou.edu wrote:

 A little birdie has told me that someone else is writing a new
 comprehensive matplotlib book (I think it would replace Sandros' book).
 Last I heard from the birdie, he was most of the way done with the
 manuscript. Based on my experience with the edit/review process, I would
 guess 2-3 more months to see it finished and published.


 Oh cool. I'll look out for this. Will it be advertised on this list?


 --
 BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
 Develop your own process in accordance with the BPMN 2 standard
 Learn Process modeling best practices with Bonita BPM through live
 exercises
 http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-
 event?utm_
 source=Sourceforge_BPM_Camp_5_6_15utm_medium=emailutm_campaign=VA_SF
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users


--
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15utm_medium=emailutm_campaign=VA_SF___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Qt4 Designer Example

2015-04-15 Thread Benjamin Root
A little birdie has told me that someone else is writing a new
comprehensive matplotlib book (I think it would replace Sandros' book).
Last I heard from the birdie, he was most of the way done with the
manuscript. Based on my experience with the edit/review process, I would
guess 2-3 more months to see it finished and published.

Cheers!
Ben Root

On Wed, Apr 15, 2015 at 5:43 PM, Chris O'Halloran cmo...@gmail.com wrote:

 That's cool. I just found the book provided the right level of detail for
 me to start using QtDesigner with my projects.  I can't speak for PyQt5 but
 I don't see the concepts have changed much over the past 5 or so years.
 Agreed though, if you're brand new to python and are only familiar with
 python3 then typing in the code verbatim (python2 style) may cause you
 problems that frustrate the learning process.



 On 15 April 2015 at 19:49, Christian Ambros ambr...@ymail.com wrote:

 No offense, but it really is outdated. Consider that it'll take two years
 to do the writing and the lecture work the research material is form 2007
 to 2008. We now are in 2015. As you can tell from other books which have
 been published between 2013 and a really helpy book from March, 24th 2015
 (yes, Benjamin Root wrote it), even they don't cover latest enhancements up
 to six month before print, (which might be seen a reasonable since changing
 is easy in a digitized world like ours).
 A good tutorial for the once, who do not have much experience in this
 field (I count myself in with the just one and a half year of experience in
 gui programming) is two things, actual up to six month to a year and
 straight forward, meaning It tells you what to do and doesn't bother you
 with design thoughts, API explanations nor tries to teach you programming.
 I have that book in my possession, but it didn't turn out to be helpful
 if you do not have the time do read it in whole. If you have the time to
 spin freely, you still will have conquered 80% by yourself and because it
 is still outdated for pyhton3 and matplotlib 1.4.3 the use is questionable.

 cheers,
 Christian

 --
 A little learning never caused anyone's head to explode!


 Ein wenig Lernen hat noch niemandens Kopf zum Explodieren gebracht!



   On Wednesday, April 15, 2015 3:44 AM, Chris O'Halloran 
 cmo...@gmail.com wrote:


 Can I recommend this book.  It was very helpful to me in figuring much of
 this out.


 https://www.packtpub.com/application-development/matplotlib-python-developers

 On 14 April 2015 at 18:14, Christian Ambros ambr...@ymail.com wrote:

 Hi Ryan,

 wow! This tutorial is one of the best I ever encountered. Nothing is
 missing, nothing is cryptic or unclear. What I like best is, that it get's
 along without using Qt Designer plugins or something similar strange. It's
 a good basis to start. Maybe you should write a book, covering all the
 untold things one needs to solve problems like that. I browsed through
 plenty of books the last weeks and what really is missing, is a cookbook
 about Qt Designer, Glade and wxWidgets and how to fill it with python3 and
 it's lib's like matplotlib, pyqtgraph, numpy, sympy etc.

 I would buy it right away!
 cheers,
 Christian

 --
 A little learning never caused anyone's head to explode!


 Ein wenig Lernen hat noch niemandens Kopf zum Explodieren gebracht!



   On Friday, April 10, 2015 7:14 PM, Ryan Nelson rnelsonc...@gmail.com
 wrote:


 Christian,

 As it turns out, I wrote a blog post (for my terrible blog) about using
 Designer to create a MPL based GUI (
 http://blog.rcnelson.com/building-a-matplotlib-gui-with-qt-designer-part-1/).
 I was going to write this up for the MPL docs... But it got really long (3
 parts), so I just used my personal site. It got so long because this was
 the second time I needed to figure this out, and I wanted to make a very
 detailed outline for my own future reference. Unfortunately, I don't have
 any experience with Qt5, but I imagine things are similar. I think they
 just rearranged the locations of some of the widgets, but I'd be curious to
 hear your experience. I gave up on PyQtdesignerplugins. I think it makes
 more sense to just use a generic widget as the MPL container.

 I would be very happy if you had comments for my Qt designer posts.

 Ryan

 On Wed, Apr 8, 2015 at 5:47 AM, Christian Ambros ambr...@ymail.com
 wrote:

 Hi Ryan,

 could you write down, as a tutorial, how you built the example with the
 qt designer?
 In the last hours I read all most everything what can be found on the
 issue of getting matplotlib running with pyqt5 and the designer but as you
 realized yourself, there is little to be found handy.

 I'm stuck at a project, which has to use python3, and pyqt5 and am not
 allowed by my boss to fall back to pyqt4 or qt_compat. He wants to make
 sure that we use the latest revisions.

 So I#m very pleased to read that someone already set food on this
 terrain.
 Qt5.4.1 is running and I installed PyQtdesingerplugins, in mind that they
 

Re: [Matplotlib-users] Qt4 Designer Example

2015-04-15 Thread Chris O'Halloran
On 16 April 2015 at 09:51, Benjamin Root ben.r...@ou.edu wrote:

 A little birdie has told me that someone else is writing a new
 comprehensive matplotlib book (I think it would replace Sandros' book).
 Last I heard from the birdie, he was most of the way done with the
 manuscript. Based on my experience with the edit/review process, I would
 guess 2-3 more months to see it finished and published.


Oh cool. I'll look out for this. Will it be advertised on this list?
--
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15utm_medium=emailutm_campaign=VA_SF___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Qt4 Designer Example

2015-04-14 Thread Christian Ambros
Hi Ryan,
wow! This tutorial is one of the best I ever encountered. Nothing is missing, 
nothing is cryptic or unclear. What I like best is, that it get's along without 
using Qt Designer plugins or something similar strange. It's a good basis to 
start. Maybe you should write a book, covering all the untold things one needs 
to solve problems like that. I browsed through plenty of books the last weeks 
and what really is missing, is a cookbook about Qt Designer, Glade and 
wxWidgets and how to fill it with python3 and it's lib's like matplotlib, 
pyqtgraph, numpy, sympy etc.
I would buy it right away!cheers,Christian
 --
A little learning never caused anyone's head to explode!

Ein wenig Lernen hat noch niemandens Kopf zum Explodieren gebracht! 


 On Friday, April 10, 2015 7:14 PM, Ryan Nelson rnelsonc...@gmail.com 
wrote:
   

 Christian,
As it turns out, I wrote a blog post (for my terrible blog) about using 
Designer to create a MPL based GUI 
(http://blog.rcnelson.com/building-a-matplotlib-gui-with-qt-designer-part-1/). 
I was going to write this up for the MPL docs... But it got really long (3 
parts), so I just used my personal site. It got so long because this was the 
second time I needed to figure this out, and I wanted to make a very detailed 
outline for my own future reference. Unfortunately, I don't have any experience 
with Qt5, but I imagine things are similar. I think they just rearranged the 
locations of some of the widgets, but I'd be curious to hear your experience. I 
gave up on PyQtdesignerplugins. I think it makes more sense to just use a 
generic widget as the MPL container. 
I would be very happy if you had comments for my Qt designer posts.
Ryan
On Wed, Apr 8, 2015 at 5:47 AM, Christian Ambros ambr...@ymail.com wrote:

Hi Ryan,
could you write down, as a tutorial, how you built the example with the qt 
designer?In the last hours I read all most everything what can be found on the 
issue of getting matplotlib running with pyqt5 and the designer but as you 
realized yourself, there is little to be found handy.
I'm stuck at a project, which has to use python3, and pyqt5 and am not allowed 
by my boss to fall back to pyqt4 or qt_compat. He wants to make sure that we 
use the latest revisions.
So I#m very pleased to read that someone already set food on this terrain. 
Qt5.4.1 is running and I installed PyQtdesingerplugins, in mind that they were 
written for PyQt4. Are they usable in 5? I added the env-variables to my 
bashrc, did get any changes shown in the designer. Of course I did a re-log-in 
to start fresh, but any changes were noteable.What possible ways of embedding 
matplotlib into a designer base pyqt5-gui else, are there?
cheers,Christian


 --
A little learning never caused anyone's head to explode!

Ein wenig Lernen hat noch niemandens Kopf zum Explodieren gebracht! 


 On Wednesday, February 18, 2015 11:59 PM, Ryan Nelson 
rnelsonc...@gmail.com wrote:
   

 Hello list,
A couple months ago, I spent quite a bit of time trying to figure out how to 
use Qt designer create a GUI with an embedded MPL window. Unfortunately, the 
Scipy cookbook page 
(http://wiki.scipy.org/Cookbook/Matplotlib/Qt_with_IPython_and_Designer) is 
very outdated. A recent post 
(http://matplotlib.1069221.n5.nabble.com/Re-Keep-list-of-figures-or-plots-and-flip-through-list-using-UI-td44961.html)
 brought up some questions about a use case very similar to mine, so I redid my 
example and was going to write a quick tutorial for the docs.
Unfortunately, I'm not a Qt guru, so I thought that I would ask on the list for 
some advice.  The OP and I were both interested in being able to have a list of 
figures that you could select from to change the plot window. The embedding 
examples in the docs create subclasses of FigureClass* and embed the plotting 
figure/axes/etc. This works but gets tricky, though, when trying to switch 
plots. Also, for interactive IPython work, I didn't like that the plotting 
objects were mixed in with all the QtGui.QWidget attributes, which makes 
introspective searching painful. My solution was to create a dictionary of 
matplotlib.figure.Figure objects that had all of the plotting stuff defined. 
Then when I select a new plot from the list, the old one is removed and a new 
FigureClass object is created using the selected Figure object. Has anyone else 
successfully done something like this? Is there a better way? Also, it seems if 
I zoom the current plot, change to a new plot, and change back, the zoom region 
is retained. Anyone know how to reset the zoom region?
Attached is my example: window.py is the Designer-created main window and 
custommpl.py is the subclass of the main window that I wrote. It's about as 
short as I could make it.

Thanks
Ryan


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards

Re: [Matplotlib-users] Qt4 Designer Example

2015-04-08 Thread Christian Ambros
Hi Ryan,
could you write down, as a tutorial, how you built the example with the qt 
designer?In the last hours I read all most everything what can be found on the 
issue of getting matplotlib running with pyqt5 and the designer but as you 
realized yourself, there is little to be found handy.
I'm stuck at a project, which has to use python3, and pyqt5 and am not allowed 
by my boss to fall back to pyqt4 or qt_compat. He wants to make sure that we 
use the latest revisions.
So I#m very pleased to read that someone already set food on this terrain. 
Qt5.4.1 is running and I installed PyQtdesingerplugins, in mind that they were 
written for PyQt4. Are they usable in 5? I added the env-variables to my 
bashrc, did get any changes shown in the designer. Of course I did a re-log-in 
to start fresh, but any changes were noteable.What possible ways of embedding 
matplotlib into a designer base pyqt5-gui else, are there?
cheers,Christian


 --
A little learning never caused anyone's head to explode!

Ein wenig Lernen hat noch niemandens Kopf zum Explodieren gebracht! 


 On Wednesday, February 18, 2015 11:59 PM, Ryan Nelson 
rnelsonc...@gmail.com wrote:
   

 Hello list,
A couple months ago, I spent quite a bit of time trying to figure out how to 
use Qt designer create a GUI with an embedded MPL window. Unfortunately, the 
Scipy cookbook page 
(http://wiki.scipy.org/Cookbook/Matplotlib/Qt_with_IPython_and_Designer) is 
very outdated. A recent post 
(http://matplotlib.1069221.n5.nabble.com/Re-Keep-list-of-figures-or-plots-and-flip-through-list-using-UI-td44961.html)
 brought up some questions about a use case very similar to mine, so I redid my 
example and was going to write a quick tutorial for the docs.
Unfortunately, I'm not a Qt guru, so I thought that I would ask on the list for 
some advice.  The OP and I were both interested in being able to have a list of 
figures that you could select from to change the plot window. The embedding 
examples in the docs create subclasses of FigureClass* and embed the plotting 
figure/axes/etc. This works but gets tricky, though, when trying to switch 
plots. Also, for interactive IPython work, I didn't like that the plotting 
objects were mixed in with all the QtGui.QWidget attributes, which makes 
introspective searching painful. My solution was to create a dictionary of 
matplotlib.figure.Figure objects that had all of the plotting stuff defined. 
Then when I select a new plot from the list, the old one is removed and a new 
FigureClass object is created using the selected Figure object. Has anyone else 
successfully done something like this? Is there a better way? Also, it seems if 
I zoom the current plot, change to a new plot, and change back, the zoom region 
is retained. Anyone know how to reset the zoom region?
Attached is my example: window.py is the Designer-created main window and 
custommpl.py is the subclass of the main window that I wrote. It's about as 
short as I could make it.

Thanks
Ryan


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


  --
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15utm_medium=emailutm_campaign=VA_SF___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] Qt4 Designer Example

2015-02-18 Thread Ryan Nelson
Hello list,

A couple months ago, I spent quite a bit of time trying to figure out how
to use Qt designer create a GUI with an embedded MPL window. Unfortunately,
the Scipy cookbook page (
http://wiki.scipy.org/Cookbook/Matplotlib/Qt_with_IPython_and_Designer) is
very outdated. A recent post (
http://matplotlib.1069221.n5.nabble.com/Re-Keep-list-of-figures-or-plots-and-flip-through-list-using-UI-td44961.html)
brought up some questions about a use case very similar to mine, so I redid
my example and was going to write a quick tutorial for the docs.

Unfortunately, I'm not a Qt guru, so I thought that I would ask on the list
for some advice.  The OP and I were both interested in being able to have a
list of figures that you could select from to change the plot window. The
embedding examples in the docs create subclasses of FigureClass* and embed
the plotting figure/axes/etc. This works but gets tricky, though, when
trying to switch plots. Also, for interactive IPython work, I didn't like
that the plotting objects were mixed in with all the QtGui.QWidget
attributes, which makes introspective searching painful. My solution was to
create a dictionary of matplotlib.figure.Figure objects that had all of the
plotting stuff defined. Then when I select a new plot from the list, the
old one is removed and a new FigureClass object is created using the
selected Figure object. Has anyone else successfully done something like
this? Is there a better way? Also, it seems if I zoom the current plot,
change to a new plot, and change back, the zoom region is retained. Anyone
know how to reset the zoom region?

Attached is my example: window.py is the Designer-created main window and
custommpl.py is the subclass of the main window that I wrote. It's about
as short as I could make it.

Thanks

Ryan
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'test2.ui'
#
# Created: Wed Feb 18 18:20:27 2015
#  by: PyQt4 UI code generator 4.11.3
#
# WARNING! All changes made in this file will be lost!

from PyQt4 import QtCore, QtGui

try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s

try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8(MainWindow))
MainWindow.resize(800, 600)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8(centralwidget))
self.gridLayout = QtGui.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName(_fromUtf8(gridLayout))
self.mplfigs = QtGui.QListWidget(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.mplfigs.sizePolicy().hasHeightForWidth())
self.mplfigs.setSizePolicy(sizePolicy)
self.mplfigs.setMaximumSize(QtCore.QSize(200, 16777215))
self.mplfigs.setObjectName(_fromUtf8(mplfigs))
self.gridLayout.addWidget(self.mplfigs, 0, 1, 1, 1)
self.mplwindow = QtGui.QWidget(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.mplwindow.sizePolicy().hasHeightForWidth())
self.mplwindow.setSizePolicy(sizePolicy)
self.mplwindow.setObjectName(_fromUtf8(mplwindow))
self.gridLayout.addWidget(self.mplwindow, 0, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)

self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)

def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate(MainWindow, MainWindow, None))

import sys

from PyQt4 import QtGui

import numpy as np
from matplotlib.figure import Figure
from matplotlib.backends.backend_qt4agg import (
FigureCanvasQTAgg as FigureCanvas,
NavigationToolbar2QT as NavigationToolbar)

from window import Ui_MainWindow


class Main(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self, ):
super(Main, self).__init__()
self.setupUi(self)
self.mplvl = QtGui.QVBoxLayout(self.mplwindow)
self.mplfigs.itemClicked.connect(self.changefig)
fig = Figure()
self.addmpl(fig)

def addfigs(self, fig_dict):
self.fig_dict = fig_dict
names = list(fig_dict.keys())
self.mplfigs.addItems(names)

def addmpl(self, fig):
self.canvas = FigureCanvas(fig)