3
3
"""
4
4
from __future__ import division , print_function
5
5
6
- import os , sys
6
+ import os # not used
7
+ import sys
7
8
import ctypes
8
9
9
10
import matplotlib
10
11
from matplotlib .figure import Figure
11
12
12
13
from backend_agg import FigureCanvasAgg
13
- from backend_qt4 import QtCore , QtGui , FigureManagerQT , FigureCanvasQT ,\
14
- show , draw_if_interactive , backend_version , \
15
- NavigationToolbar2QT
14
+ from backend_qt4 import QtCore
15
+ from backend_qt4 import QtGui
16
+ from backend_qt4 import FigureManagerQT
17
+ from backend_qt4 import FigureCanvasQT
18
+ from backend_qt4 import NavigationToolbar2QT
19
+ ##### not used
20
+ from backend_qt4 import show
21
+ from backend_qt4 import draw_if_interactive
22
+ from backend_qt4 import backend_version
23
+ ######
16
24
17
25
DEBUG = False
18
26
21
29
_decref .restype = None
22
30
23
31
24
- def new_figure_manager ( num , * args , ** kwargs ):
32
+ def new_figure_manager (num , * args , ** kwargs ):
25
33
"""
26
34
Create a new figure manager instance
27
35
"""
28
- if DEBUG : print ('backend_qtagg.new_figure_manager' )
36
+ if DEBUG :
37
+ print ('backend_qtagg.new_figure_manager' )
29
38
FigureClass = kwargs .pop ('FigureClass' , Figure )
30
- thisFig = FigureClass ( * args , ** kwargs )
39
+ thisFig = FigureClass (* args , ** kwargs )
31
40
return new_figure_manager_given_figure (num , thisFig )
32
41
33
42
@@ -36,26 +45,28 @@ def new_figure_manager_given_figure(num, figure):
36
45
Create a new figure manager instance for the given figure.
37
46
"""
38
47
canvas = FigureCanvasQTAgg (figure )
39
- return FigureManagerQT ( canvas , num )
48
+ return FigureManagerQT (canvas , num )
40
49
41
50
42
51
class NavigationToolbar2QTAgg (NavigationToolbar2QT ):
43
52
def _get_canvas (self , fig ):
44
53
return FigureCanvasQTAgg (fig )
45
54
55
+
46
56
class FigureManagerQTAgg (FigureManagerQT ):
47
57
def _get_toolbar (self , canvas , parent ):
48
58
# must be inited after the window, drawingArea and figure
49
59
# attrs are set
50
- if matplotlib .rcParams ['toolbar' ]== 'classic' :
60
+ if matplotlib .rcParams ['toolbar' ] == 'classic' :
51
61
print ("Classic toolbar is not supported" )
52
- elif matplotlib .rcParams ['toolbar' ]== 'toolbar2' :
62
+ elif matplotlib .rcParams ['toolbar' ] == 'toolbar2' :
53
63
toolbar = NavigationToolbar2QTAgg (canvas , parent )
54
64
else :
55
65
toolbar = None
56
66
return toolbar
57
67
58
- class FigureCanvasQTAgg ( FigureCanvasQT , FigureCanvasAgg ):
68
+
69
+ class FigureCanvasQTAgg (FigureCanvasQT , FigureCanvasAgg ):
59
70
"""
60
71
The canvas the figure renders into. Calls the draw and print fig
61
72
methods, creates the renderers, etc...
@@ -65,30 +76,32 @@ class FigureCanvasQTAgg( FigureCanvasQT, FigureCanvasAgg ):
65
76
figure - A Figure instance
66
77
"""
67
78
68
- def __init__ ( self , figure ):
69
- if DEBUG : print ('FigureCanvasQtAgg: ' , figure )
70
- FigureCanvasQT .__init__ ( self , figure )
71
- FigureCanvasAgg .__init__ ( self , figure )
79
+ def __init__ (self , figure ):
80
+ if DEBUG :
81
+ print ('FigureCanvasQtAgg: ' , figure )
82
+ FigureCanvasQT .__init__ (self , figure )
83
+ FigureCanvasAgg .__init__ (self , figure )
72
84
self .drawRect = False
73
85
self .rect = []
74
86
self .blitbox = None
75
87
self .setAttribute (QtCore .Qt .WA_OpaquePaintEvent )
76
88
77
- def drawRectangle ( self , rect ):
89
+ def drawRectangle (self , rect ):
78
90
self .rect = rect
79
91
self .drawRect = True
80
- self .repaint ( )
92
+ self .repaint ()
81
93
82
- def paintEvent ( self , e ):
94
+ def paintEvent (self , e ):
83
95
"""
84
96
Copy the image from the Agg canvas to the qt.drawable.
85
97
In Qt, all drawing should be done inside of here when a widget is
86
98
shown onscreen.
87
99
"""
88
100
89
- #FigureCanvasQT.paintEvent( self, e )
90
- if DEBUG : print ('FigureCanvasQtAgg.paintEvent: ' , self , \
91
- self .get_width_height ())
101
+ #FigureCanvasQT.paintEvent(self, e)
102
+ if DEBUG :
103
+ print ('FigureCanvasQtAgg.paintEvent: ' , self ,
104
+ self .get_width_height ())
92
105
93
106
if self .blitbox is None :
94
107
# matplotlib is in rgba byte order. QImage wants to put the bytes
@@ -110,8 +123,9 @@ def paintEvent( self, e ):
110
123
111
124
# draw the zoom rectangle to the QPainter
112
125
if self .drawRect :
113
- p .setPen ( QtGui .QPen ( QtCore .Qt .black , 1 , QtCore .Qt .DotLine ) )
114
- p .drawRect ( self .rect [0 ], self .rect [1 ], self .rect [2 ], self .rect [3 ] )
126
+ p .setPen (QtGui .QPen (QtCore .Qt .black , 1 , QtCore .Qt .DotLine ))
127
+ p .drawRect (self .rect [0 ], self .rect [1 ],
128
+ self .rect [2 ], self .rect [3 ])
115
129
p .end ()
116
130
117
131
# This works around a bug in PySide 1.1.2 on Python 3.x,
@@ -129,15 +143,16 @@ def paintEvent( self, e ):
129
143
t = int (b ) + h
130
144
reg = self .copy_from_bbox (bbox )
131
145
stringBuffer = reg .to_string_argb ()
132
- qImage = QtGui .QImage (stringBuffer , w , h , QtGui .QImage .Format_ARGB32 )
146
+ qImage = QtGui .QImage (stringBuffer , w , h ,
147
+ QtGui .QImage .Format_ARGB32 )
133
148
pixmap = QtGui .QPixmap .fromImage (qImage )
134
- p = QtGui .QPainter ( self )
149
+ p = QtGui .QPainter (self )
135
150
p .drawPixmap (QtCore .QPoint (l , self .renderer .height - t ), pixmap )
136
151
p .end ()
137
152
self .blitbox = None
138
153
self .drawRect = False
139
154
140
- def draw ( self ):
155
+ def draw (self ):
141
156
"""
142
157
Draw the figure with Agg, and queue a request
143
158
for a Qt draw.
0 commit comments