# Revision history [back]

### rqt_bag integration in my Gui

Hi, I try to integrate the rqt_bag into my custom Gui and can't find example how to do it. Find example to rqt_bag plugin, but it not possible to integrate in custom GUI without rqt_gui. I am looking for some example similar to Rviz integration:
import os from PyQt5 import QtWidgets import sys import rviz

class RvizViewer(QtWidgets.QWidget):

def __init__(self):
super(RvizViewer, self).__init__()

# > rviz.VisualizationFrame is the main container widget of the
# > regular RViz application, with menus, a toolbar, a status
# > bar, and many docked subpanels.  In this example, we
# > disable everything so that the only thing visible is the 3D
# > render window.
self.frame = rviz.VisualizationFrame()

# > The "splash path" is the full path of an image file which
# > gets shown during loading.  Setting it to the empty string
# > suppresses that behavior.

# > VisualizationFrame.initialize() must be called before
# > VisualizationFrame.load().  In fact it must be called
# > before most interactions with RViz classes because it
# > instantiates and initializes the VisualizationManager,
# > which is the central class of RViz.
self.frame.initialize()

# > The reader reads config file data into the config object.
# > VisualizationFrame reads its data from the config object.
# config = rviz.Config()

# > You can also store any other application data you like in
# > the config object.  Here we read the window title from the
# > map key called "Title", which has been added by hand to the
# > config file.
# self.setWindowTitle( config.mapGetChild( "Title" ).getValue() )
self.setWindowTitle('RViz Python')

# > Here we disable the menu bar (from the top), status bar
# > (from the bottom), and the "hide-docks" buttons, which are
# > the tall skinny buttons on the left and right sides of the
# > main render window.

# self.frame.setStatusBar( None )
self.frame.setHideButtonVisibility(False)

# > frame.getManager() returns the VisualizationManager
# > instance, which is a very central class.  It has pointers
# > to other manager objects and is generally required to make
# > any changes in an rviz instance.
self.manager = self.frame.getManager()

# > Since the config file is part of the source code for this
# > example, we know that the first display in the list is the
# > grid we want to control.  Here we just save a reference to
# > it for later.
# self.grid_display = self.manager.getRootDisplayGroup().getDisplayAt(0)

self.main_layout = QtWidgets.QHBoxLayout(self)