@@ -133,15 +133,6 @@ def alignCornerRects(self, rect):
133133 r .setBottom (rect .bottom ())
134134
135135
136- def _rects_conv_PyQt5 (rects ):
137- # PyQt5 compatibility: the conversion from QRect to QRectF should not
138- # be necessary but it seems to be anyway... PyQt5 bug?
139- if QT_API == "pyqt5" :
140- return [QRectF (rect ) for rect in rects ]
141- else :
142- return rects
143-
144-
145136def qwtDrawBackground (painter , canvas ):
146137 painter .save ()
147138 borderClip = canvas .borderPath (canvas .rect ())
@@ -157,12 +148,7 @@ def qwtDrawBackground(painter, canvas):
157148 if brush .gradient ().coordinateMode () == QGradient .ObjectBoundingMode :
158149 rects += [canvas .rect ()]
159150 else :
160- clipregion = painter .clipRegion ()
161- try :
162- rects += [clipregion .rects ()]
163- except AttributeError :
164- # Qt6: no equivalent to 'rects' method...
165- rects += [clipregion .begin ()]
151+ rects += [painter .clipRegion ().boundingRect ()]
166152 useRaster = False
167153 if painter .paintEngine ().type () == QPaintEngine .X11 :
168154 useRaster = True
@@ -174,26 +160,22 @@ def qwtDrawBackground(painter, canvas):
174160 format_ = QImage .Format_ARGB32
175161 break
176162 image = QImage (canvas .size (), format_ )
177- p = QPainter (image )
178- p .setPen (Qt .NoPen )
179- p .setBrush (brush )
180- p .drawRects (_rects_conv_PyQt5 (rects ))
181- p .end ()
163+ pntr = QPainter (image )
164+ pntr .setPen (Qt .NoPen )
165+ pntr .setBrush (brush )
166+ for rect in rects :
167+ pntr .drawRect (rect )
168+ pntr .end ()
182169 painter .drawImage (0 , 0 , image )
183170 else :
184171 painter .setPen (Qt .NoPen )
185172 painter .setBrush (brush )
186- painter .drawRects (_rects_conv_PyQt5 (rects ))
173+ for rect in rects :
174+ painter .drawRect (rect )
187175 else :
188176 painter .setPen (Qt .NoPen )
189177 painter .setBrush (brush )
190- clipregion = painter .clipRegion ()
191- try :
192- rects = clipregion .rects ()
193- except AttributeError :
194- # Qt6: no equivalent to 'rects' method...
195- rects = [clipregion .begin ()]
196- painter .drawRects (_rects_conv_PyQt5 (rects ))
178+ painter .drawRect (painter .clipRegion ().boundingRect ())
197179
198180 painter .restore ()
199181
@@ -754,8 +736,14 @@ def drawBorder(self, painter):
754736 else :
755737 opt = QStyleOptionFrame ()
756738 opt .initFrom (self )
757- frameShape = self .frameStyle () & QFrame .Shape_Mask
758- frameShadow = self .frameStyle () & QFrame .Shadow_Mask
739+ try :
740+ shape_mask = QFrame .Shape_Mask .value
741+ shadow_mask = QFrame .Shadow_Mask .value
742+ except AttributeError :
743+ shape_mask = QFrame .Shape_Mask
744+ shadow_mask = QFrame .Shadow_Mask
745+ frameShape = self .frameStyle () & shape_mask
746+ frameShadow = self .frameStyle () & shadow_mask
759747 opt .frameShape = QFrame .Shape (int (opt .frameShape ) | frameShape )
760748 if frameShape in (
761749 QFrame .Box ,
0 commit comments