def clear(self, layout=None): """ Clear the view, thereby deleting any existing widgets. """ menu_bar = self._controller.window._menu_bar if menu_bar is not None: menu_bar.hide() for toolbar in self._controller.window._toolbars: self._controller.window.removeToolBar(toolbar) self._controller.window._toolbars = [] if layout is not None: for index in reversed(range(layout.count())): item = layout.itemAt(index) if isinstance(item, QtGui.QWidgetItem): item.widget().close() else: self.clear(item.layout()) # Delete the layout itself. QtCore.QObjectCleanupHandler().add(layout) # Close all figures that the view may have opened. plt.close('all')
def _cleanup(self): cleaner = QtCore.QObjectCleanupHandler() self._update_grid_button_state(running=False) # Remove old individual items from the list widget, then add the new # individuals in the population. for i in range(self._listWidget.count() - 1, -1, -1): self._listWidget.itemWidget(self._listWidget.item(i)).close() self._listWidget.takeItem(i) self._stackedLayout.takeAt(i).widget().close() if i >= self._overview_items: self._individual_axes[i - self._overview_items].cla() canvas = self._individual_canvases[i - self._overview_items] canvas.figure.clf() plt.close(canvas.figure) cleaner.add(canvas) for plot in self._graph_plots.itervalues(): plot.clear() if self._front_canvas is not None: self._front_axes.cla() self._front_canvas.figure.clf() plt.close(self._front_canvas.figure) cleaner.add(self._front_canvas) self._front_canvas = None if self._grid_timer is not None: self._grid_timer.stop() self._grid_timer = None if self._update_timer is not None: self._update_timer.stop() self._update_timer = None cleaner.clear() self._init()
def show_games_list(self): clear_layout(self.helper.get_main_content_layout()) QtCore.QObjectCleanupHandler().add(self.helper.get_main_content_layout()) games = self.twitch_api.get_games(limit=24) self.helper.set_main_content_layout(self.helper.create_games_list_layout(games, self.show_streams_by_game)) self.main_content_box.setLayout(self.helper.get_main_content_layout())
def show_streams_by_game(self, game): clear_layout(self.helper.get_main_content_layout()) QtCore.QObjectCleanupHandler().add(self.helper.get_main_content_layout()) streams = self.twitch_api.get_game_streams(game, limit=12) self.helper.set_main_content_layout(self.helper.create_streams_layout(streams["streams"], self.player)) self.main_content_box.setLayout(self.helper.get_main_content_layout())