From 0eb66bcaff8150b8807d4e39688d677a34ca158e Mon Sep 17 00:00:00 2001 From: Ales Erjavec Date: Tue, 21 Jan 2020 12:37:51 +0100 Subject: [PATCH] Give created QGraphicsScenes a parent Ensure the scene is deleted at the same time as the widget. Fix an runtime error at process exit when running tests with PyQt 5.14 --- Orange/widgets/unsupervised/owhierarchicalclustering.py | 2 +- Orange/widgets/visualize/owboxplot.py | 2 +- Orange/widgets/visualize/owmosaic.py | 2 +- Orange/widgets/visualize/owsieve.py | 2 +- Orange/widgets/visualize/owsilhouetteplot.py | 2 +- Orange/widgets/visualize/owvenndiagram.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Orange/widgets/unsupervised/owhierarchicalclustering.py b/Orange/widgets/unsupervised/owhierarchicalclustering.py index e4354509f93..fdaff906408 100644 --- a/Orange/widgets/unsupervised/owhierarchicalclustering.py +++ b/Orange/widgets/unsupervised/owhierarchicalclustering.py @@ -266,7 +266,7 @@ def on_annotation_changed(value): gui.auto_send(box, self, "autocommit", box=False) - self.scene = QGraphicsScene() + self.scene = QGraphicsScene(self) self.view = StickyGraphicsView( self.scene, horizontalScrollBarPolicy=Qt.ScrollBarAlwaysOff, diff --git a/Orange/widgets/visualize/owboxplot.py b/Orange/widgets/visualize/owboxplot.py index 3bb40b50b08..2ed8c1652ac 100644 --- a/Orange/widgets/visualize/owboxplot.py +++ b/Orange/widgets/visualize/owboxplot.py @@ -263,7 +263,7 @@ def __init__(self): stateWhenDisabled=False) gui.vBox(self.mainArea, addSpace=True) - self.box_scene = QGraphicsScene() + self.box_scene = QGraphicsScene(self) self.box_scene.selectionChanged.connect(self.commit) self.box_view = QGraphicsView(self.box_scene) self.box_view.setRenderHints(QPainter.Antialiasing | diff --git a/Orange/widgets/visualize/owmosaic.py b/Orange/widgets/visualize/owmosaic.py index adc9c7681d0..c4c844b4848 100644 --- a/Orange/widgets/visualize/owmosaic.py +++ b/Orange/widgets/visualize/owmosaic.py @@ -324,7 +324,7 @@ def __init__(self): self.areas = [] - self.canvas = QGraphicsScene() + self.canvas = QGraphicsScene(self) self.canvas_view = ViewWithPress( self.canvas, handler=self.clear_selection) self.mainArea.layout().addWidget(self.canvas_view) diff --git a/Orange/widgets/visualize/owsieve.py b/Orange/widgets/visualize/owsieve.py index ca4e8405055..b7005f67411 100644 --- a/Orange/widgets/visualize/owsieve.py +++ b/Orange/widgets/visualize/owsieve.py @@ -121,7 +121,7 @@ def __init__(self): self.attr_box, self, "Score Combinations", self.set_attr) self.vizrank_button.setSizePolicy(*fixed_size) - self.canvas = QGraphicsScene() + self.canvas = QGraphicsScene(self) self.canvasView = ViewWithPress( self.canvas, self.mainArea, handler=self.reset_selection) self.mainArea.layout().addWidget(self.canvasView) diff --git a/Orange/widgets/visualize/owsilhouetteplot.py b/Orange/widgets/visualize/owsilhouetteplot.py index 1808868ea01..782082ef61a 100644 --- a/Orange/widgets/visualize/owsilhouetteplot.py +++ b/Orange/widgets/visualize/owsilhouetteplot.py @@ -179,7 +179,7 @@ def __init__(self): # Ensure that the controlArea is not narrower than buttonsArea self.controlArea.layout().addWidget(self.buttonsArea) - self.scene = QGraphicsScene() + self.scene = QGraphicsScene(self) self.view = StickyGraphicsView(self.scene) self.view.setRenderHint(QPainter.Antialiasing, True) self.view.setAlignment(Qt.AlignTop | Qt.AlignLeft) diff --git a/Orange/widgets/visualize/owvenndiagram.py b/Orange/widgets/visualize/owvenndiagram.py index 0076a8280b4..54b69b1c1fc 100644 --- a/Orange/widgets/visualize/owvenndiagram.py +++ b/Orange/widgets/visualize/owvenndiagram.py @@ -100,7 +100,7 @@ def __init__(self): self.area_keys = [] # Main area view - self.scene = QGraphicsScene() + self.scene = QGraphicsScene(self) self.view = QGraphicsView(self.scene) self.view.setRenderHint(QPainter.Antialiasing) self.view.setBackgroundRole(QPalette.Window)