Skip to content

Commit e09299c

Browse files
committed
QwtPlot: fixed event mgt + removed unnecessary QEvent.LayoutRequest
(caused high CPU usage with guiqwt.ImageWidget)
1 parent 7affb9b commit e09299c

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

qwt/plot.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1022,12 +1022,11 @@ def setCanvas(self, canvas):
10221022
canvas.show()
10231023

10241024
def event(self, event):
1025-
ok = QFrame.event(self, event)
10261025
if event.type() == QEvent.LayoutRequest:
10271026
self.updateLayout()
10281027
elif event.type() == QEvent.PolishRequest:
10291028
self.replot()
1030-
return ok
1029+
return QFrame.event(self, event)
10311030

10321031
def eventFilter(self, obj, event):
10331032
if obj is self.__data.canvas:

qwt/scale_widget.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -509,14 +509,22 @@ def layoutScale(self, update_geometry=True):
509509

510510
if update_geometry:
511511
self.updateGeometry()
512-
# for some reason updateGeometry does not send a LayoutRequest
513-
# event when the parent is not visible and has no layout
514-
widget = self.parentWidget()
515-
if widget and not widget.isVisible() and widget.layout() is None:
516-
if widget.testAttribute(Qt.WA_WState_Polished):
517-
QApplication.postEvent(
518-
self.parentWidget(), QEvent(QEvent.LayoutRequest)
519-
)
512+
513+
# The following was removed because it caused a high CPU usage
514+
# in guiqwt.ImageWidget. The origin of these lines was an
515+
# attempt to transpose PythonQwt from Qwt 6.1.2 to Qwt 6.1.5.
516+
517+
#--> Begin of removed lines <--------------------------------------
518+
# # for some reason updateGeometry does not send a LayoutRequest
519+
# # event when the parent is not visible and has no layout
520+
# widget = self.parentWidget()
521+
# if widget and not widget.isVisible() and widget.layout() is None:
522+
# if widget.testAttribute(Qt.WA_WState_Polished):
523+
# QApplication.postEvent(
524+
# self.parentWidget(), QEvent(QEvent.LayoutRequest)
525+
# )
526+
#--> End of removed lines <----------------------------------------
527+
520528
self.update()
521529

522530
def drawColorBar(self, painter, rect):

0 commit comments

Comments
 (0)