From 8abc28b44c65bf710235be7d1528c5ad92f53e53 Mon Sep 17 00:00:00 2001
From: Tom Rondeau <tom@trondeau.com>
Date: Tue, 13 Oct 2015 18:47:32 -0400
Subject: [PATCH 06/22] qtgui: fixed examples for Qt5 compatibility.

---
 gr-qtgui/examples/pyqt_const_c.py        |   62 +-
 gr-qtgui/examples/pyqt_example_c.py      |   59 +-
 gr-qtgui/examples/pyqt_example_f.py      |   59 +-
 gr-qtgui/examples/pyqt_freq_c.py         |   59 +-
 gr-qtgui/examples/pyqt_freq_f.py         |   60 +-
 gr-qtgui/examples/pyqt_histogram_f.py    |   73 +-
 gr-qtgui/examples/pyqt_time_c.py         |   66 +-
 gr-qtgui/examples/pyqt_time_f.py         |   67 +-
 gr-qtgui/examples/pyqt_time_raster_b.py  |   19 +-
 gr-qtgui/examples/pyqt_time_raster_f.py  |   19 +-
 gr-qtgui/examples/pyqt_waterfall_c.py    |   59 +-
 gr-qtgui/examples/pyqt_waterfall_f.py    |   62 +-
 gr-qtgui/examples/qtgui_tags_viewing.grc | 2399 +++++++++++++++++++++++-------
 13 files changed, 2164 insertions(+), 899 deletions(-)

diff --git a/gr-qtgui/examples/pyqt_const_c.py b/gr-qtgui/examples/pyqt_const_c.py
index 3a43bf9a92..0bb6c20d59 100755
--- a/gr-qtgui/examples/pyqt_const_c.py
+++ b/gr-qtgui/examples/pyqt_const_c.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright 2011,2012 Free Software Foundation, Inc.
+# Copyright 2011,2012,2015 Free Software Foundation, Inc.
 #
 # This file is part of GNU Radio
 #
@@ -26,10 +26,10 @@ import sys
 
 try:
     from gnuradio import qtgui
-    from PyQt4 import QtGui, QtCore
+    from PyQt5 import QtWidgets, Qt
     import sip
 except ImportError:
-    sys.stderr.write("Error: Program requires PyQt4 and gr-qtgui.\n")
+    sys.stderr.write("Error: Program requires PyQt5 and gr-qtgui.\n")
     sys.exit(1)
 
 try:
@@ -44,71 +44,65 @@ except ImportError:
     sys.stderr.write("Error: Program requires gr-channels.\n")
     sys.exit(1)
 
-class dialog_box(QtGui.QWidget):
+class dialog_box(QtWidgets.QWidget):
     def __init__(self, display, control):
-        QtGui.QWidget.__init__(self, None)
+        QtWidgets.QWidget.__init__(self, None)
         self.setWindowTitle('PyQt Test GUI')
 
-        self.boxlayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self)
+        self.boxlayout = QtWidgets.QBoxLayout(QtWidgets.QBoxLayout.LeftToRight, self)
         self.boxlayout.addWidget(display, 1)
         self.boxlayout.addWidget(control)
 
         self.resize(800, 500)
 
-class control_box(QtGui.QWidget):
+class control_box(QtWidgets.QWidget):
     def __init__(self, parent=None):
-        QtGui.QWidget.__init__(self, parent)
+        QtWidgets.QWidget.__init__(self, parent)
         self.setWindowTitle('Control Panel')
 
         self.setToolTip('Control the signals')
-        QtGui.QToolTip.setFont(QtGui.QFont('OldEnglish', 10))
+        QtWidgets.QToolTip.setFont(Qt.QFont('OldEnglish', 10))
 
-        self.layout = QtGui.QFormLayout(self)
+        self.layout = QtWidgets.QFormLayout(self)
 
         # Control the first signal
-        self.freq1Edit = QtGui.QLineEdit(self)
+        self.freq1Edit = QtWidgets.QLineEdit(self)
         self.freq1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Frequency:", self.freq1Edit)
-        self.connect(self.freq1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq1EditText)
+        self.freq1Edit.editingFinished.connect(self.freq1EditText)
 
-        self.amp1Edit = QtGui.QLineEdit(self)
+        self.amp1Edit = QtWidgets.QLineEdit(self)
         self.amp1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Amplitude:", self.amp1Edit)
-        self.connect(self.amp1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp1EditText)
+        self.amp1Edit.editingFinished.connect(self.amp1EditText)
 
 
         # Control the second signal
-        self.freq2Edit = QtGui.QLineEdit(self)
+        self.freq2Edit = QtWidgets.QLineEdit(self)
         self.freq2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Frequency:", self.freq2Edit)
-        self.connect(self.freq2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq2EditText)
+        self.freq2Edit.editingFinished.connect(self.freq2EditText)
 
 
-        self.amp2Edit = QtGui.QLineEdit(self)
+        self.amp2Edit = QtWidgets.QLineEdit(self)
         self.amp2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Amplitude:", self.amp2Edit)
-        self.connect(self.amp2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp2EditText)
+        self.amp2Edit.editingFinished.connect(self.amp2EditText)
 
-        self.quit = QtGui.QPushButton('Close', self)
+        self.quit = QtWidgets.QPushButton('Close', self)
         self.quit.setMinimumWidth(100)
+        self.quit.clicked.connect(QtWidgets.qApp.quit)
         self.layout.addWidget(self.quit)
 
-        self.connect(self.quit, QtCore.SIGNAL('clicked()'),
-                     QtGui.qApp, QtCore.SLOT('quit()'))
-
     def attach_signal1(self, signal):
         self.signal1 = signal
-        self.freq1Edit.setText(QtCore.QString("%1").arg(self.signal1.frequency()))
-        self.amp1Edit.setText(QtCore.QString("%1").arg(self.signal1.amplitude()))
+        self.freq1Edit.setText("{0}".format(self.signal1.frequency()))
+        self.amp1Edit.setText("{0}".format(self.signal1.amplitude()))
 
     def attach_signal2(self, signal):
         self.signal2 = signal
-        self.freq2Edit.setText(QtCore.QString("%1").arg(self.signal2.frequency()))
-        self.amp2Edit.setText(QtCore.QString("%1").arg(self.signal2.amplitude()))
+        self.freq2Edit.setText("{0}".format(self.signal2.frequency()))
+        self.amp2Edit.setText("{0}".format(self.signal2.amplitude()))
 
     def freq1EditText(self):
         try:
@@ -150,7 +144,7 @@ class my_top_block(gr.top_block):
 
         npts = 2048
 
-        self.qapp = QtGui.QApplication(sys.argv)
+        self.qapp = QtWidgets.QApplication(sys.argv)
 
         src1 = analog.sig_source_c(Rs, analog.GR_SIN_WAVE, f1, 0.5, 0)
         src2 = analog.sig_source_c(Rs, analog.GR_SIN_WAVE, f2, 0.5, 0)
@@ -158,6 +152,7 @@ class my_top_block(gr.top_block):
         channel = channels.channel_model(0.001)
         thr = blocks.throttle(gr.sizeof_gr_complex, 100*npts)
         self.snk1 = qtgui.const_sink_c(npts, "Constellation Example", 1)
+        self.snk1.disable_legend()
 
         self.connect(src1, (src,0))
         self.connect(src2, (src,1))
@@ -171,8 +166,8 @@ class my_top_block(gr.top_block):
         pyQt  = self.snk1.pyqwidget()
 
         # Wrap the pointer as a PyQt SIP object
-        # This can now be manipulated as a PyQt4.QtGui.QWidget
-        pyWin = sip.wrapinstance(pyQt, QtGui.QWidget)
+        # This can now be manipulated as a PyQt5.QtWidgets.QWidget
+        pyWin = sip.wrapinstance(pyQt, QtWidgets.QWidget)
 
         self.main_box = dialog_box(pyWin, self.ctrl_win)
         self.main_box.show()
@@ -182,4 +177,3 @@ if __name__ == "__main__":
     tb.start()
     tb.qapp.exec_()
     tb.stop()
-
diff --git a/gr-qtgui/examples/pyqt_example_c.py b/gr-qtgui/examples/pyqt_example_c.py
index 1bf61d949d..89ca7b2820 100755
--- a/gr-qtgui/examples/pyqt_example_c.py
+++ b/gr-qtgui/examples/pyqt_example_c.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright 2011,2012 Free Software Foundation, Inc.
+# Copyright 2011,2012,2015 Free Software Foundation, Inc.
 #
 # This file is part of GNU Radio
 #
@@ -26,10 +26,10 @@ import sys
 
 try:
     from gnuradio import qtgui
-    from PyQt4 import QtGui, QtCore
+    from PyQt5 import QtWidgets, Qt
     import sip
 except ImportError:
-    sys.stderr.write("Error: Program requires PyQt4 and gr-qtgui.\n")
+    sys.stderr.write("Error: Program requires PyQt5 and gr-qtgui.\n")
     sys.exit(1)
 
 try:
@@ -44,71 +44,66 @@ except ImportError:
     sys.stderr.write("Error: Program requires gr-channels.\n")
     sys.exit(1)
 
-class dialog_box(QtGui.QWidget):
+class dialog_box(QtWidgets.QWidget):
     def __init__(self, display, control):
-        QtGui.QWidget.__init__(self, None)
+        QtWidgets.QWidget.__init__(self, None)
         self.setWindowTitle('PyQt Test GUI')
 
-        self.boxlayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self)
+        self.boxlayout = QtWidgets.QBoxLayout(QtWidgets.QBoxLayout.LeftToRight, self)
         self.boxlayout.addWidget(display, 1)
         self.boxlayout.addWidget(control)
 
         self.resize(800, 500)
 
-class control_box(QtGui.QWidget):
+class control_box(QtWidgets.QWidget):
     def __init__(self, parent=None):
-        QtGui.QWidget.__init__(self, parent)
+        QtWidgets.QWidget.__init__(self, parent)
         self.setWindowTitle('Control Panel')
 
         self.setToolTip('Control the signals')
-        QtGui.QToolTip.setFont(QtGui.QFont('OldEnglish', 10))
+        QtWidgets.QToolTip.setFont(Qt.QFont('OldEnglish', 10))
 
-        self.layout = QtGui.QFormLayout(self)
+        self.layout = QtWidgets.QFormLayout(self)
 
         # Control the first signal
-        self.freq1Edit = QtGui.QLineEdit(self)
+        self.freq1Edit = QtWidgets.QLineEdit(self)
         self.freq1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Frequency:", self.freq1Edit)
-        self.connect(self.freq1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq1EditText)
+        self.freq1Edit.editingFinished.connect(self.freq1EditText)
 
-        self.amp1Edit = QtGui.QLineEdit(self)
+        self.amp1Edit = QtWidgets.QLineEdit(self)
         self.amp1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Amplitude:", self.amp1Edit)
-        self.connect(self.amp1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp1EditText)
+        self.amp1Edit.editingFinished.connect(self.amp1EditText)
 
 
         # Control the second signal
-        self.freq2Edit = QtGui.QLineEdit(self)
+        self.freq2Edit = QtWidgets.QLineEdit(self)
         self.freq2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Frequency:", self.freq2Edit)
-        self.connect(self.freq2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq2EditText)
+        self.freq2Edit.editingFinished.connect(self.freq2EditText)
 
 
-        self.amp2Edit = QtGui.QLineEdit(self)
+        self.amp2Edit = QtWidgets.QLineEdit(self)
         self.amp2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Amplitude:", self.amp2Edit)
-        self.connect(self.amp2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp2EditText)
+        self.amp2Edit.editingFinished.connect(self.amp2EditText)
 
-        self.quit = QtGui.QPushButton('Close', self)
+        self.quit = QtWidgets.QPushButton('Close', self)
         self.quit.setMinimumWidth(100)
         self.layout.addWidget(self.quit)
 
-        self.connect(self.quit, QtCore.SIGNAL('clicked()'),
-                     QtGui.qApp, QtCore.SLOT('quit()'))
+        self.quit.clicked.connect(QtWidgets.qApp.quit)
 
     def attach_signal1(self, signal):
         self.signal1 = signal
-        self.freq1Edit.setText(QtCore.QString("%1").arg(self.signal1.frequency()))
-        self.amp1Edit.setText(QtCore.QString("%1").arg(self.signal1.amplitude()))
+        self.freq1Edit.setText(("{0}").format(self.signal1.frequency()))
+        self.amp1Edit.setText(("{0}").format(self.signal1.amplitude()))
 
     def attach_signal2(self, signal):
         self.signal2 = signal
-        self.freq2Edit.setText(QtCore.QString("%1").arg(self.signal2.frequency()))
-        self.amp2Edit.setText(QtCore.QString("%1").arg(self.signal2.amplitude()))
+        self.freq2Edit.setText(("{0}").format(self.signal2.frequency()))
+        self.amp2Edit.setText(("{0}").format(self.signal2.amplitude()))
 
     def freq1EditText(self):
         try:
@@ -150,7 +145,7 @@ class my_top_block(gr.top_block):
 
         fftsize = 2048
 
-        self.qapp = QtGui.QApplication(sys.argv)
+        self.qapp = QtWidgets.QApplication(sys.argv)
         ss = open(gr.prefix() + '/share/gnuradio/themes/dark.qss')
         sstext = ss.read()
         ss.close()
@@ -178,8 +173,8 @@ class my_top_block(gr.top_block):
         pyQt  = self.snk1.pyqwidget()
 
         # Wrap the pointer as a PyQt SIP object
-        # This can now be manipulated as a PyQt4.QtGui.QWidget
-        pyWin = sip.wrapinstance(pyQt, QtGui.QWidget)
+        # This can now be manipulated as a PyQt5.QtWidgets.QWidget
+        pyWin = sip.wrapinstance(pyQt, QtWidgets.QWidget)
 
         self.main_box = dialog_box(pyWin, self.ctrl_win)
 
diff --git a/gr-qtgui/examples/pyqt_example_f.py b/gr-qtgui/examples/pyqt_example_f.py
index 5bd582d1e1..77a7478aa2 100755
--- a/gr-qtgui/examples/pyqt_example_f.py
+++ b/gr-qtgui/examples/pyqt_example_f.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright 2011,2012 Free Software Foundation, Inc.
+# Copyright 2011,2012,2015 Free Software Foundation, Inc.
 #
 # This file is part of GNU Radio
 #
@@ -26,10 +26,10 @@ import sys
 
 try:
     from gnuradio import qtgui
-    from PyQt4 import QtGui, QtCore
+    from PyQt5 import QtWidgets, Qt
     import sip
 except ImportError:
-    sys.stderr.write("Error: Program requires PyQt4 and gr-qtgui.\n")
+    sys.stderr.write("Error: Program requires PyQt5 and gr-qtgui.\n")
     sys.exit(1)
 
 try:
@@ -38,71 +38,66 @@ except ImportError:
     sys.stderr.write("Error: Program requires gr-analog.\n")
     sys.exit(1)
 
-class dialog_box(QtGui.QWidget):
+class dialog_box(QtWidgets.QWidget):
     def __init__(self, display, control):
-        QtGui.QWidget.__init__(self, None)
+        QtWidgets.QWidget.__init__(self, None)
         self.setWindowTitle('PyQt Test GUI')
 
-        self.boxlayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self)
+        self.boxlayout = QtWidgets.QBoxLayout(QtWidgets.QBoxLayout.LeftToRight, self)
         self.boxlayout.addWidget(display, 1)
         self.boxlayout.addWidget(control)
 
         self.resize(800, 500)
 
-class control_box(QtGui.QWidget):
+class control_box(QtWidgets.QWidget):
     def __init__(self, parent=None):
-        QtGui.QWidget.__init__(self, parent)
+        QtWidgets.QWidget.__init__(self, parent)
         self.setWindowTitle('Control Panel')
 
         self.setToolTip('Control the signals')
-        QtGui.QToolTip.setFont(QtGui.QFont('OldEnglish', 10))
+        QtWidgets.QToolTip.setFont(Qt.QFont('OldEnglish', 10))
 
-        self.layout = QtGui.QFormLayout(self)
+        self.layout = QtWidgets.QFormLayout(self)
 
         # Control the first signal
-        self.freq1Edit = QtGui.QLineEdit(self)
+        self.freq1Edit = QtWidgets.QLineEdit(self)
         self.freq1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Frequency:", self.freq1Edit)
-        self.connect(self.freq1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq1EditText)
+        self.freq1Edit.editingFinished.connect(self.freq1EditText)
 
-        self.amp1Edit = QtGui.QLineEdit(self)
+        self.amp1Edit = QtWidgets.QLineEdit(self)
         self.amp1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Amplitude:", self.amp1Edit)
-        self.connect(self.amp1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp1EditText)
+        self.amp1Edit.editingFinished.connect(self.amp1EditText)
 
 
         # Control the second signal
-        self.freq2Edit = QtGui.QLineEdit(self)
+        self.freq2Edit = QtWidgets.QLineEdit(self)
         self.freq2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Frequency:", self.freq2Edit)
-        self.connect(self.freq2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq2EditText)
+        self.freq2Edit.editingFinished.connect(self.freq2EditText)
 
 
-        self.amp2Edit = QtGui.QLineEdit(self)
+        self.amp2Edit = QtWidgets.QLineEdit(self)
         self.amp2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Amplitude:", self.amp2Edit)
-        self.connect(self.amp2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp2EditText)
+        self.amp2Edit.editingFinished.connect(self.amp2EditText)
 
-        self.quit = QtGui.QPushButton('Close', self)
+        self.quit = QtWidgets.QPushButton('Close', self)
         self.quit.setMinimumWidth(100)
         self.layout.addWidget(self.quit)
 
-        self.connect(self.quit, QtCore.SIGNAL('clicked()'),
-                     QtGui.qApp, QtCore.SLOT('quit()'))
+        self.quit.clicked.connect(QtWidgets.qApp.quit)
 
     def attach_signal1(self, signal):
         self.signal1 = signal
-        self.freq1Edit.setText(QtCore.QString("%1").arg(self.signal1.frequency()))
-        self.amp1Edit.setText(QtCore.QString("%1").arg(self.signal1.amplitude()))
+        self.freq1Edit.setText(("{0}").format(self.signal1.frequency()))
+        self.amp1Edit.setText(("{0}").format(self.signal1.amplitude()))
 
     def attach_signal2(self, signal):
         self.signal2 = signal
-        self.freq2Edit.setText(QtCore.QString("%1").arg(self.signal2.frequency()))
-        self.amp2Edit.setText(QtCore.QString("%1").arg(self.signal2.amplitude()))
+        self.freq2Edit.setText(("{0}").format(self.signal2.frequency()))
+        self.amp2Edit.setText(("{0}").format(self.signal2.amplitude()))
 
     def freq1EditText(self):
         try:
@@ -144,7 +139,7 @@ class my_top_block(gr.top_block):
 
         fftsize = 2048
 
-        self.qapp = QtGui.QApplication(sys.argv)
+        self.qapp = QtWidgets.QApplication(sys.argv)
 
         src1 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f1, 0.1, 0)
         src2 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f2, 0.1, 0)
@@ -171,8 +166,8 @@ class my_top_block(gr.top_block):
         pyQt  = self.snk1.pyqwidget()
 
         # Wrap the pointer as a PyQt SIP object
-        # This can now be manipulated as a PyQt4.QtGui.QWidget
-        pyWin = sip.wrapinstance(pyQt, QtGui.QWidget)
+        # This can now be manipulated as a PyQt5.QtWidgets.QWidget
+        pyWin = sip.wrapinstance(pyQt, QtWidgets.QWidget)
 
         self.main_box = dialog_box(pyWin, self.ctrl_win)
 
diff --git a/gr-qtgui/examples/pyqt_freq_c.py b/gr-qtgui/examples/pyqt_freq_c.py
index c53feb93d4..954a078df8 100755
--- a/gr-qtgui/examples/pyqt_freq_c.py
+++ b/gr-qtgui/examples/pyqt_freq_c.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright 2012,2015 Free Software Foundation, Inc.
 #
 # This file is part of GNU Radio
 #
@@ -26,10 +26,10 @@ import sys
 
 try:
     from gnuradio import qtgui
-    from PyQt4 import QtGui, QtCore
+    from PyQt5 import QtWidgets, Qt
     import sip
 except ImportError:
-    sys.stderr.write("Error: Program requires PyQt4 and gr-qtgui.\n")
+    sys.stderr.write("Error: Program requires PyQt5 and gr-qtgui.\n")
     sys.exit(1)
 
 try:
@@ -44,71 +44,66 @@ except ImportError:
     sys.stderr.write("Error: Program requires gr-channels.\n")
     sys.exit(1)
 
-class dialog_box(QtGui.QWidget):
+class dialog_box(QtWidgets.QWidget):
     def __init__(self, display, control):
-        QtGui.QWidget.__init__(self, None)
+        QtWidgets.QWidget.__init__(self, None)
         self.setWindowTitle('PyQt Test GUI')
 
-        self.boxlayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self)
+        self.boxlayout = QtWidgets.QBoxLayout(QtWidgets.QBoxLayout.LeftToRight, self)
         self.boxlayout.addWidget(display, 1)
         self.boxlayout.addWidget(control)
 
         self.resize(800, 500)
 
-class control_box(QtGui.QWidget):
+class control_box(QtWidgets.QWidget):
     def __init__(self, parent=None):
-        QtGui.QWidget.__init__(self, parent)
+        QtWidgets.QWidget.__init__(self, parent)
         self.setWindowTitle('Control Panel')
 
         self.setToolTip('Control the signals')
-        QtGui.QToolTip.setFont(QtGui.QFont('OldEnglish', 10))
+        QtWidgets.QToolTip.setFont(Qt.QFont('OldEnglish', 10))
 
-        self.layout = QtGui.QFormLayout(self)
+        self.layout = QtWidgets.QFormLayout(self)
 
         # Control the first signal
-        self.freq1Edit = QtGui.QLineEdit(self)
+        self.freq1Edit = QtWidgets.QLineEdit(self)
         self.freq1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Frequency:", self.freq1Edit)
-        self.connect(self.freq1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq1EditText)
+        self.freq1Edit.editingFinished.connect(self.freq1EditText)
 
-        self.amp1Edit = QtGui.QLineEdit(self)
+        self.amp1Edit = QtWidgets.QLineEdit(self)
         self.amp1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Amplitude:", self.amp1Edit)
-        self.connect(self.amp1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp1EditText)
+        self.amp1Edit.editingFinished.connect(self.amp1EditText)
 
 
         # Control the second signal
-        self.freq2Edit = QtGui.QLineEdit(self)
+        self.freq2Edit = QtWidgets.QLineEdit(self)
         self.freq2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Frequency:", self.freq2Edit)
-        self.connect(self.freq2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq2EditText)
+        self.freq2Edit.editingFinished.connect(self.freq2EditText)
 
 
-        self.amp2Edit = QtGui.QLineEdit(self)
+        self.amp2Edit = QtWidgets.QLineEdit(self)
         self.amp2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Amplitude:", self.amp2Edit)
-        self.connect(self.amp2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp2EditText)
+        self.amp2Edit.editingFinished.connect(self.amp2EditText)
 
-        self.quit = QtGui.QPushButton('Close', self)
+        self.quit = QtWidgets.QPushButton('Close', self)
         self.quit.setMinimumWidth(100)
         self.layout.addWidget(self.quit)
 
-        self.connect(self.quit, QtCore.SIGNAL('clicked()'),
-                     QtGui.qApp, QtCore.SLOT('quit()'))
+        self.quit.clicked.connect(QtWidgets.qApp.quit)
 
     def attach_signal1(self, signal):
         self.signal1 = signal
-        self.freq1Edit.setText(QtCore.QString("%1").arg(self.signal1.frequency()))
-        self.amp1Edit.setText(QtCore.QString("%1").arg(self.signal1.amplitude()))
+        self.freq1Edit.setText(("{0}").format(self.signal1.frequency()))
+        self.amp1Edit.setText(("{0}").format(self.signal1.amplitude()))
 
     def attach_signal2(self, signal):
         self.signal2 = signal
-        self.freq2Edit.setText(QtCore.QString("%1").arg(self.signal2.frequency()))
-        self.amp2Edit.setText(QtCore.QString("%1").arg(self.signal2.amplitude()))
+        self.freq2Edit.setText(("{0}").format(self.signal2.frequency()))
+        self.amp2Edit.setText(("{0}").format(self.signal2.amplitude()))
 
     def freq1EditText(self):
         try:
@@ -150,7 +145,7 @@ class my_top_block(gr.top_block):
 
         npts = 2048
 
-        self.qapp = QtGui.QApplication(sys.argv)
+        self.qapp = QtWidgets.QApplication(sys.argv)
         ss = open(gr.prefix() + '/share/gnuradio/themes/dark.qss')
         sstext = ss.read()
         ss.close()
@@ -179,8 +174,8 @@ class my_top_block(gr.top_block):
         pyQt  = self.snk1.pyqwidget()
 
         # Wrap the pointer as a PyQt SIP object
-        # This can now be manipulated as a PyQt4.QtGui.QWidget
-        pyWin = sip.wrapinstance(pyQt, QtGui.QWidget)
+        # This can now be manipulated as a PyQt5.QtWidgets.QWidget
+        pyWin = sip.wrapinstance(pyQt, QtWidgets.QWidget)
 
         #pyWin.show()
         self.main_box = dialog_box(pyWin, self.ctrl_win)
diff --git a/gr-qtgui/examples/pyqt_freq_f.py b/gr-qtgui/examples/pyqt_freq_f.py
index 668b54d249..d7d389b736 100755
--- a/gr-qtgui/examples/pyqt_freq_f.py
+++ b/gr-qtgui/examples/pyqt_freq_f.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright 2012,2015 Free Software Foundation, Inc.
 #
 # This file is part of GNU Radio
 #
@@ -26,10 +26,10 @@ import sys
 
 try:
     from gnuradio import qtgui
-    from PyQt4 import QtGui, QtCore
+    from PyQt5 import QtWidgets, Qt
     import sip
 except ImportError:
-    sys.stderr.write("Error: Program requires PyQt4 and gr-qtgui.\n")
+    sys.stderr.write("Error: Program requires PyQt5 and gr-qtgui.\n")
     sys.exit(1)
 
 try:
@@ -39,71 +39,66 @@ except ImportError:
     sys.exit(1)
 
 
-class dialog_box(QtGui.QWidget):
+class dialog_box(QtWidgets.QWidget):
     def __init__(self, display, control):
-        QtGui.QWidget.__init__(self, None)
+        QtWidgets.QWidget.__init__(self, None)
         self.setWindowTitle('PyQt Test GUI')
 
-        self.boxlayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self)
+        self.boxlayout = QtWidgets.QBoxLayout(QtWidgets.QBoxLayout.LeftToRight, self)
         self.boxlayout.addWidget(display, 1)
         self.boxlayout.addWidget(control)
 
         self.resize(800, 500)
 
-class control_box(QtGui.QWidget):
+class control_box(QtWidgets.QWidget):
     def __init__(self, parent=None):
-        QtGui.QWidget.__init__(self, parent)
+        QtWidgets.QWidget.__init__(self, parent)
         self.setWindowTitle('Control Panel')
 
         self.setToolTip('Control the signals')
-        QtGui.QToolTip.setFont(QtGui.QFont('OldEnglish', 10))
+        QtWidgets.QToolTip.setFont(Qt.QFont('OldEnglish', 10))
 
-        self.layout = QtGui.QFormLayout(self)
+        self.layout = QtWidgets.QFormLayout(self)
 
         # Control the first signal
-        self.freq1Edit = QtGui.QLineEdit(self)
+        self.freq1Edit = QtWidgets.QLineEdit(self)
         self.freq1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Frequency:", self.freq1Edit)
-        self.connect(self.freq1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq1EditText)
+        self.freq1Edit.editingFinished.connect(self.freq1EditText)
 
-        self.amp1Edit = QtGui.QLineEdit(self)
+        self.amp1Edit = QtWidgets.QLineEdit(self)
         self.amp1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Amplitude:", self.amp1Edit)
-        self.connect(self.amp1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp1EditText)
+        self.amp1Edit.editingFinished.connect(self.amp1EditText)
 
 
         # Control the second signal
-        self.freq2Edit = QtGui.QLineEdit(self)
+        self.freq2Edit = QtWidgets.QLineEdit(self)
         self.freq2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Frequency:", self.freq2Edit)
-        self.connect(self.freq2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq2EditText)
+        self.freq2Edit.editingFinished.connect(self.freq2EditText)
 
 
-        self.amp2Edit = QtGui.QLineEdit(self)
+        self.amp2Edit = QtWidgets.QLineEdit(self)
         self.amp2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Amplitude:", self.amp2Edit)
-        self.connect(self.amp2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp2EditText)
+        self.amp2Edit.editingFinished.connect(self.amp2EditText)
 
-        self.quit = QtGui.QPushButton('Close', self)
+        self.quit = QtWidgets.QPushButton('Close', self)
         self.quit.setMinimumWidth(100)
         self.layout.addWidget(self.quit)
 
-        self.connect(self.quit, QtCore.SIGNAL('clicked()'),
-                     QtGui.qApp, QtCore.SLOT('quit()'))
+        self.quit.clicked.connect(QtWidgets.qApp.quit)
 
     def attach_signal1(self, signal):
         self.signal1 = signal
-        self.freq1Edit.setText(QtCore.QString("%1").arg(self.signal1.frequency()))
-        self.amp1Edit.setText(QtCore.QString("%1").arg(self.signal1.amplitude()))
+        self.freq1Edit.setText(("{0}").format(self.signal1.frequency()))
+        self.amp1Edit.setText(("{0}").format(self.signal1.amplitude()))
 
     def attach_signal2(self, signal):
         self.signal2 = signal
-        self.freq2Edit.setText(QtCore.QString("%1").arg(self.signal2.frequency()))
-        self.amp2Edit.setText(QtCore.QString("%1").arg(self.signal2.amplitude()))
+        self.freq2Edit.setText(("{0}").format(self.signal2.frequency()))
+        self.amp2Edit.setText(("{0}").format(self.signal2.amplitude()))
 
     def freq1EditText(self):
         try:
@@ -145,7 +140,7 @@ class my_top_block(gr.top_block):
 
         npts = 2048
 
-        self.qapp = QtGui.QApplication(sys.argv)
+        self.qapp = QtWidgets.QApplication(sys.argv)
 
         src1 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f1, 0.1, 0)
         src2 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f2, 0.1, 0)
@@ -169,8 +164,8 @@ class my_top_block(gr.top_block):
         pyQt  = self.snk1.pyqwidget()
 
         # Wrap the pointer as a PyQt SIP object
-        # This can now be manipulated as a PyQt4.QtGui.QWidget
-        pyWin = sip.wrapinstance(pyQt, QtGui.QWidget)
+        # This can now be manipulated as a PyQt5.QtWidgets.QWidget
+        pyWin = sip.wrapinstance(pyQt, QtWidgets.QWidget)
 
         #pyWin.show()
         self.main_box = dialog_box(pyWin, self.ctrl_win)
@@ -181,4 +176,3 @@ if __name__ == "__main__":
     tb.start()
     tb.qapp.exec_()
     tb.stop()
-
diff --git a/gr-qtgui/examples/pyqt_histogram_f.py b/gr-qtgui/examples/pyqt_histogram_f.py
index a960275f41..81f7b9d40b 100755
--- a/gr-qtgui/examples/pyqt_histogram_f.py
+++ b/gr-qtgui/examples/pyqt_histogram_f.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013,2015 Free Software Foundation, Inc.
 #
 # This file is part of GNU Radio
 #
@@ -26,10 +26,10 @@ import sys
 
 try:
     from gnuradio import qtgui
-    from PyQt4 import QtGui, QtCore
+    from PyQt5 import QtWidgets, Qt
     import sip
 except ImportError:
-    sys.stderr.write("Error: Program requires PyQt4 and gr-qtgui.\n")
+    sys.stderr.write("Error: Program requires PyQt5 and gr-qtgui.\n")
     sys.exit(1)
 
 try:
@@ -38,87 +38,80 @@ except ImportError:
     sys.stderr.write("Error: Program requires gr-analog.\n")
     sys.exit(1)
 
-class dialog_box(QtGui.QWidget):
+class dialog_box(QtWidgets.QWidget):
     def __init__(self, display, control):
-        QtGui.QWidget.__init__(self, None)
+        QtWidgets.QWidget.__init__(self, None)
         self.setWindowTitle('PyQt Test GUI')
 
-        self.boxlayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self)
+        self.boxlayout = QtWidgets.QBoxLayout(QtWidgets.QBoxLayout.LeftToRight, self)
         self.boxlayout.addWidget(display, 1)
         self.boxlayout.addWidget(control)
 
         self.resize(800, 500)
 
-class control_box(QtGui.QWidget):
+class control_box(QtWidgets.QWidget):
     def __init__(self, snk, parent=None):
-        QtGui.QWidget.__init__(self, parent)
+        QtWidgets.QWidget.__init__(self, parent)
         self.setWindowTitle('Control Panel')
         self.snk = snk
 
         self.setToolTip('Control the signals')
-        QtGui.QToolTip.setFont(QtGui.QFont('OldEnglish', 10))
+        QtWidgets.QToolTip.setFont(Qt.QFont('OldEnglish', 10))
 
-        self.layout = QtGui.QFormLayout(self)
+        self.layout = QtWidgets.QFormLayout(self)
 
         # Control the first signal
-        self.freq1Edit = QtGui.QLineEdit(self)
+        self.freq1Edit = QtWidgets.QLineEdit(self)
         self.freq1Edit.setMinimumWidth(100)
         self.layout.addRow("Sine Frequency:", self.freq1Edit)
-        self.connect(self.freq1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq1EditText)
+        self.freq1Edit.editingFinished.connect(self.freq1EditText)
 
-        self.amp1Edit = QtGui.QLineEdit(self)
+        self.amp1Edit = QtWidgets.QLineEdit(self)
         self.amp1Edit.setMinimumWidth(100)
         self.layout.addRow("Sine Amplitude:", self.amp1Edit)
-        self.connect(self.amp1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp1EditText)
+        self.amp1Edit.editingFinished.connect(self.amp1EditText)
 
 
         # Control the second signal
-        self.amp2Edit = QtGui.QLineEdit(self)
+        self.amp2Edit = QtWidgets.QLineEdit(self)
         self.amp2Edit.setMinimumWidth(100)
         self.layout.addRow("Noise Amplitude:", self.amp2Edit)
-        self.connect(self.amp2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp2EditText)
+        self.amp2Edit.editingFinished.connect(self.amp2EditText)
 
         # Control the histogram
-        self.hist_npts = QtGui.QLineEdit(self)
+        self.hist_npts = QtWidgets.QLineEdit(self)
         self.hist_npts.setMinimumWidth(100)
-        self.hist_npts.setValidator(QtGui.QIntValidator(0, 8191))
+        self.hist_npts.setValidator(Qt.QIntValidator(0, 8191))
         self.hist_npts.setText("{0}".format(self.snk.nsamps()))
         self.layout.addRow("Number of Points:", self.hist_npts)
-        self.connect(self.hist_npts, QtCore.SIGNAL("editingFinished()"),
-                     self.set_nsamps)
+        self.hist_npts.editingFinished.connect(self.set_nsamps)
 
-        self.hist_bins = QtGui.QLineEdit(self)
+        self.hist_bins = QtWidgets.QLineEdit(self)
         self.hist_bins.setMinimumWidth(100)
-        self.hist_bins.setValidator(QtGui.QIntValidator(0, 1000))
+        self.hist_bins.setValidator(Qt.QIntValidator(0, 1000))
         self.hist_bins.setText("{0}".format(self.snk.bins()))
         self.layout.addRow("Number of Bins:", self.hist_bins)
-        self.connect(self.hist_bins, QtCore.SIGNAL("editingFinished()"),
-                     self.set_bins)
+        self.hist_bins.editingFinished.connect(self.set_bins)
 
-        self.hist_auto = QtGui.QPushButton("scale", self)
+        self.hist_auto = QtWidgets.QPushButton("scale", self)
         self.layout.addRow("Autoscale X:", self.hist_auto)
-        self.connect(self.hist_auto, QtCore.SIGNAL("pressed()"),
-                     self.autoscalex)
+        self.hist_auto.pressed.connect(self.autoscalex)
 
-        self.quit = QtGui.QPushButton('Close', self)
+        self.quit = QtWidgets.QPushButton('Close', self)
         self.quit.setMinimumWidth(100)
         self.layout.addWidget(self.quit)
 
-        self.connect(self.quit, QtCore.SIGNAL('clicked()'),
-                     QtGui.qApp, QtCore.SLOT('quit()'))
+        self.quit.clicked.connect(QtWidgets.qApp.quit)
 
 
     def attach_signal1(self, signal):
         self.signal1 = signal
-        self.freq1Edit.setText(QtCore.QString("%1").arg(self.signal1.frequency()))
-        self.amp1Edit.setText(QtCore.QString("%1").arg(self.signal1.amplitude()))
+        self.freq1Edit.setText(("{0}").format(self.signal1.frequency()))
+        self.amp1Edit.setText(("{0}").format(self.signal1.amplitude()))
 
     def attach_signal2(self, signal):
         self.signal2 = signal
-        self.amp2Edit.setText(QtCore.QString("%1").arg(self.signal2.amplitude()))
+        self.amp2Edit.setText(("{0}").format(self.signal2.amplitude()))
 
     def freq1EditText(self):
         try:
@@ -164,7 +157,7 @@ class my_top_block(gr.top_block):
 
         npts = 2048
 
-        self.qapp = QtGui.QApplication(sys.argv)
+        self.qapp = QtWidgets.QApplication(sys.argv)
 
         src1 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f1, 0, 0)
         src2 = analog.noise_source_f(analog.GR_GAUSSIAN, 1)
@@ -172,6 +165,7 @@ class my_top_block(gr.top_block):
         thr = blocks.throttle(gr.sizeof_float, 100*npts)
         self.snk1 = qtgui.histogram_sink_f(npts, 200, -5, 5,
                                            "Histogram")
+        self.snk1.disable_legend()
 
         self.connect(src1, (src,0))
         self.connect(src2, (src,1))
@@ -185,8 +179,8 @@ class my_top_block(gr.top_block):
         pyQt  = self.snk1.pyqwidget()
 
         # Wrap the pointer as a PyQt SIP object
-        # This can now be manipulated as a PyQt4.QtGui.QWidget
-        pyWin = sip.wrapinstance(pyQt, QtGui.QWidget)
+        # This can now be manipulated as a PyQt5.QtWidgets.QWidget
+        pyWin = sip.wrapinstance(pyQt, QtWidgets.QWidget)
 
         #pyWin.show()
         self.main_box = dialog_box(pyWin, self.ctrl_win)
@@ -197,4 +191,3 @@ if __name__ == "__main__":
     tb.start()
     tb.qapp.exec_()
     tb.stop()
-
diff --git a/gr-qtgui/examples/pyqt_time_c.py b/gr-qtgui/examples/pyqt_time_c.py
index 0162bb6ffc..b595c8ff85 100755
--- a/gr-qtgui/examples/pyqt_time_c.py
+++ b/gr-qtgui/examples/pyqt_time_c.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright 2011,2012 Free Software Foundation, Inc.
+# Copyright 2011,2012,2015 Free Software Foundation, Inc.
 #
 # This file is part of GNU Radio
 #
@@ -26,10 +26,10 @@ import sys
 
 try:
     from gnuradio import qtgui
-    from PyQt4 import QtGui, QtCore
+    from PyQt5 import QtWidgets, Qt
     import sip
 except ImportError:
-    sys.stderr.write("Error: Program requires PyQt4 and gr-qtgui.\n")
+    sys.stderr.write("Error: Program requires PyQt5 and gr-qtgui.\n")
     sys.exit(1)
 
 try:
@@ -44,71 +44,66 @@ except ImportError:
     sys.stderr.write("Error: Program requires gr-channels.\n")
     sys.exit(1)
 
-class dialog_box(QtGui.QWidget):
+class dialog_box(QtWidgets.QWidget):
     def __init__(self, display, control):
-        QtGui.QWidget.__init__(self, None)
+        QtWidgets.QWidget.__init__(self, None)
         self.setWindowTitle('PyQt Test GUI')
 
-        self.boxlayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self)
+        self.boxlayout = QtWidgets.QBoxLayout(QtWidgets.QBoxLayout.LeftToRight, self)
         self.boxlayout.addWidget(display, 1)
         self.boxlayout.addWidget(control)
 
         self.resize(800, 500)
 
-class control_box(QtGui.QWidget):
+class control_box(QtWidgets.QWidget):
     def __init__(self, parent=None):
-        QtGui.QWidget.__init__(self, parent)
+        QtWidgets.QWidget.__init__(self, parent)
         self.setWindowTitle('Control Panel')
 
         self.setToolTip('Control the signals')
-        QtGui.QToolTip.setFont(QtGui.QFont('OldEnglish', 10))
+        QtWidgets.QToolTip.setFont(Qt.QFont('OldEnglish', 10))
 
-        self.layout = QtGui.QFormLayout(self)
+        self.layout = QtWidgets.QFormLayout(self)
 
         # Control the first signal
-        self.freq1Edit = QtGui.QLineEdit(self)
+        self.freq1Edit = QtWidgets.QLineEdit(self)
         self.freq1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Frequency:", self.freq1Edit)
-        self.connect(self.freq1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq1EditText)
+        self.freq1Edit.editingFinished.connect(self.freq1EditText)
 
-        self.amp1Edit = QtGui.QLineEdit(self)
+        self.amp1Edit = QtWidgets.QLineEdit(self)
         self.amp1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Amplitude:", self.amp1Edit)
-        self.connect(self.amp1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp1EditText)
+        self.amp1Edit.editingFinished.connect(self.amp1EditText)
 
 
         # Control the second signal
-        self.freq2Edit = QtGui.QLineEdit(self)
+        self.freq2Edit = QtWidgets.QLineEdit(self)
         self.freq2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Frequency:", self.freq2Edit)
-        self.connect(self.freq2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq2EditText)
+        self.freq2Edit.editingFinished.connect(self.freq2EditText)
 
 
-        self.amp2Edit = QtGui.QLineEdit(self)
+        self.amp2Edit = QtWidgets.QLineEdit(self)
         self.amp2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Amplitude:", self.amp2Edit)
-        self.connect(self.amp2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp2EditText)
+        self.amp2Edit.editingFinished.connect(self.amp2EditText)
 
-        self.quit = QtGui.QPushButton('Close', self)
+        self.quit = QtWidgets.QPushButton('Close', self)
         self.quit.setMinimumWidth(100)
         self.layout.addWidget(self.quit)
 
-        self.connect(self.quit, QtCore.SIGNAL('clicked()'),
-                     QtGui.qApp, QtCore.SLOT('quit()'))
+        self.quit.clicked.connect(QtWidgets.qApp.quit)
 
     def attach_signal1(self, signal):
         self.signal1 = signal
-        self.freq1Edit.setText(QtCore.QString("%1").arg(self.signal1.frequency()))
-        self.amp1Edit.setText(QtCore.QString("%1").arg(self.signal1.amplitude()))
+        self.freq1Edit.setText(("{0}").format(self.signal1.frequency()))
+        self.amp1Edit.setText(("{0}").format(self.signal1.amplitude()))
 
     def attach_signal2(self, signal):
         self.signal2 = signal
-        self.freq2Edit.setText(QtCore.QString("%1").arg(self.signal2.frequency()))
-        self.amp2Edit.setText(QtCore.QString("%1").arg(self.signal2.amplitude()))
+        self.freq2Edit.setText(("{0}").format(self.signal2.frequency()))
+        self.amp2Edit.setText(("{0}").format(self.signal2.amplitude()))
 
     def freq1EditText(self):
         try:
@@ -150,7 +145,7 @@ class my_top_block(gr.top_block):
 
         npts = 2048
 
-        self.qapp = QtGui.QApplication(sys.argv)
+        self.qapp = QtWidgets.QApplication(sys.argv)
         ss = open(gr.prefix() + '/share/gnuradio/themes/dark.qss')
         sstext = ss.read()
         ss.close()
@@ -178,13 +173,14 @@ class my_top_block(gr.top_block):
         pyQt  = self.snk1.pyqwidget()
 
         # Wrap the pointer as a PyQt SIP object
-        # This can now be manipulated as a PyQt4.QtGui.QWidget
-        pyWin = sip.wrapinstance(pyQt, QtGui.QWidget)
+        # This can now be manipulated as a PyQt5.QtWidgets.QWidget
+        pyWin = sip.wrapinstance(pyQt, QtWidgets.QWidget)
 
         # Example of using signal/slot to set the title of a curve
-        pyWin.connect(pyWin, QtCore.SIGNAL("setLineLabel(int, QString)"),
-                      pyWin, QtCore.SLOT("setLineLabel(int, QString)"))
-        pyWin.emit(QtCore.SIGNAL("setLineLabel(int, QString)"), 0, "Re{sum}")
+        # FIXME: update for Qt5
+        #pyWin.setLineLabel.connect(pyWin.setLineLabel)
+        #pyWin.emit(QtCore.SIGNAL("setLineLabel(int, QString)"), 0, "Re{sum}")
+        self.snk1.set_line_label(0, "Re{Sum}")
         self.snk1.set_line_label(1, "Im{Sum}")
         #self.snk1.set_line_label(2, "Re{src1}")
         #self.snk1.set_line_label(3, "Im{src1}")
diff --git a/gr-qtgui/examples/pyqt_time_f.py b/gr-qtgui/examples/pyqt_time_f.py
index b733a5a809..3689ebff54 100755
--- a/gr-qtgui/examples/pyqt_time_f.py
+++ b/gr-qtgui/examples/pyqt_time_f.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright 2011,2012 Free Software Foundation, Inc.
+# Copyright 2011,2012,2015 Free Software Foundation, Inc.
 #
 # This file is part of GNU Radio
 #
@@ -26,10 +26,10 @@ import sys
 
 try:
     from gnuradio import qtgui
-    from PyQt4 import QtGui, QtCore
+    from PyQt5 import QtWidgets, Qt
     import sip
 except ImportError:
-    sys.stderr.write("Error: Program requires PyQt4 and gr-qtgui.\n")
+    sys.stderr.write("Error: Program requires PyQt5 and gr-qtgui.\n")
     sys.exit(1)
 
 try:
@@ -38,71 +38,66 @@ except ImportError:
     sys.stderr.write("Error: Program requires gr-analog.\n")
     sys.exit(1)
 
-class dialog_box(QtGui.QWidget):
+class dialog_box(QtWidgets.QWidget):
     def __init__(self, display, control):
-        QtGui.QWidget.__init__(self, None)
+        QtWidgets.QWidget.__init__(self, None)
         self.setWindowTitle('PyQt Test GUI')
 
-        self.boxlayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self)
+        self.boxlayout = QtWidgets.QBoxLayout(QtWidgets.QBoxLayout.LeftToRight, self)
         self.boxlayout.addWidget(display, 1)
         self.boxlayout.addWidget(control)
 
         self.resize(800, 500)
 
-class control_box(QtGui.QWidget):
+class control_box(QtWidgets.QWidget):
     def __init__(self, parent=None):
-        QtGui.QWidget.__init__(self, parent)
+        QtWidgets.QWidget.__init__(self, parent)
         self.setWindowTitle('Control Panel')
 
         self.setToolTip('Control the signals')
-        QtGui.QToolTip.setFont(QtGui.QFont('OldEnglish', 10))
+        QtWidgets.QToolTip.setFont(Qt.QFont('OldEnglish', 10))
 
-        self.layout = QtGui.QFormLayout(self)
+        self.layout = QtWidgets.QFormLayout(self)
 
         # Control the first signal
-        self.freq1Edit = QtGui.QLineEdit(self)
+        self.freq1Edit = QtWidgets.QLineEdit(self)
         self.freq1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Frequency:", self.freq1Edit)
-        self.connect(self.freq1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq1EditText)
+        self.freq1Edit.editingFinished.connect(self.freq1EditText)
 
-        self.amp1Edit = QtGui.QLineEdit(self)
+        self.amp1Edit = QtWidgets.QLineEdit(self)
         self.amp1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Amplitude:", self.amp1Edit)
-        self.connect(self.amp1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp1EditText)
+        self.amp1Edit.editingFinished.connect(self.amp1EditText)
 
 
         # Control the second signal
-        self.freq2Edit = QtGui.QLineEdit(self)
+        self.freq2Edit = QtWidgets.QLineEdit(self)
         self.freq2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Frequency:", self.freq2Edit)
-        self.connect(self.freq2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq2EditText)
+        self.freq2Edit.editingFinished.connect(self.freq2EditText)
 
 
-        self.amp2Edit = QtGui.QLineEdit(self)
+        self.amp2Edit = QtWidgets.QLineEdit(self)
         self.amp2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Amplitude:", self.amp2Edit)
-        self.connect(self.amp2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp2EditText)
+        self.amp2Edit.editingFinished.connect(self.amp2EditText)
 
-        self.quit = QtGui.QPushButton('Close', self)
+        self.quit = QtWidgets.QPushButton('Close', self)
         self.quit.setMinimumWidth(100)
         self.layout.addWidget(self.quit)
 
-        self.connect(self.quit, QtCore.SIGNAL('clicked()'),
-                     QtGui.qApp, QtCore.SLOT('quit()'))
+        self.quit.clicked.connect(QtWidgets.qApp.quit)
 
     def attach_signal1(self, signal):
         self.signal1 = signal
-        self.freq1Edit.setText(QtCore.QString("%1").arg(self.signal1.frequency()))
-        self.amp1Edit.setText(QtCore.QString("%1").arg(self.signal1.amplitude()))
+        self.freq1Edit.setText(("{0}").format(self.signal1.frequency()))
+        self.amp1Edit.setText(("{0}").format(self.signal1.amplitude()))
 
     def attach_signal2(self, signal):
         self.signal2 = signal
-        self.freq2Edit.setText(QtCore.QString("%1").arg(self.signal2.frequency()))
-        self.amp2Edit.setText(QtCore.QString("%1").arg(self.signal2.amplitude()))
+        self.freq2Edit.setText(("{0}").format(self.signal2.frequency()))
+        self.amp2Edit.setText(("{0}").format(self.signal2.amplitude()))
 
     def freq1EditText(self):
         try:
@@ -144,7 +139,7 @@ class my_top_block(gr.top_block):
 
         npts = 2048
 
-        self.qapp = QtGui.QApplication(sys.argv)
+        self.qapp = QtWidgets.QApplication(sys.argv)
 
         src1 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f1, 0.1, 0)
         src2 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f2, 0.1, 0)
@@ -171,13 +166,14 @@ class my_top_block(gr.top_block):
         pyQt  = self.snk1.pyqwidget()
 
         # Wrap the pointer as a PyQt SIP object
-        # This can now be manipulated as a PyQt4.QtGui.QWidget
-        pyWin = sip.wrapinstance(pyQt, QtGui.QWidget)
+        # This can now be manipulated as a PyQt5.QtWidgets.QWidget
+        pyWin = sip.wrapinstance(pyQt, QtWidgets.QWidget)
 
         # Example of using signal/slot to set the title of a curve
-        pyWin.connect(pyWin, QtCore.SIGNAL("setLineLabel(int, QString)"),
-                      pyWin, QtCore.SLOT("setLineLabel(int, QString)"))
-        pyWin.emit(QtCore.SIGNAL("setLineLabel(int, QString)"), 0, "sum")
+        # FIXME: update for Qt5
+        #pyWin.setLineLabel.connect(pyWin.setLineLabel)
+        #pyWin.emit(QtCore.SIGNAL("setLineLabel(int, QString)"), 0, "Re{sum}")
+        self.snk1.set_line_label(0, "Re{sum}")
         self.snk1.set_line_label(1, "src1")
         self.snk1.set_line_label(2, "src2")
 
@@ -193,4 +189,3 @@ if __name__ == "__main__":
     tb.start()
     tb.qapp.exec_()
     tb.stop()
-
diff --git a/gr-qtgui/examples/pyqt_time_raster_b.py b/gr-qtgui/examples/pyqt_time_raster_b.py
index 4cad9de601..7a94400283 100755
--- a/gr-qtgui/examples/pyqt_time_raster_b.py
+++ b/gr-qtgui/examples/pyqt_time_raster_b.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright 2012,2013 Free Software Foundation, Inc.
+# Copyright 2012,2013,2015 Free Software Foundation, Inc.
 #
 # This file is part of GNU Radio
 #
@@ -27,18 +27,18 @@ import sys
 
 try:
     from gnuradio import qtgui
-    from PyQt4 import QtGui, QtCore
+    from PyQt5 import QtWidgets, Qt
     import sip
 except ImportError:
-    print "Error: Program requires PyQt4 and gr-qtgui."
+    print "Error: Program requires PyQt5 and gr-qtgui."
     sys.exit(1)
 
-class dialog_box(QtGui.QWidget):
+class dialog_box(QtWidgets.QWidget):
     def __init__(self, display):
-        QtGui.QWidget.__init__(self, None)
+        QtWidgets.QWidget.__init__(self, None)
         self.setWindowTitle('PyQt Test GUI')
 
-        self.boxlayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self)
+        self.boxlayout = QtWidgets.QBoxLayout(QtWidgets.QBoxLayout.LeftToRight, self)
         self.boxlayout.addWidget(display, 1)
 
         self.resize(800, 500)
@@ -47,7 +47,7 @@ class my_top_block(gr.top_block):
     def __init__(self):
         gr.top_block.__init__(self)
 
-        self.qapp = QtGui.QApplication(sys.argv)
+        self.qapp = QtWidgets.QApplication(sys.argv)
 
         data0  = 10*[0,] + 40*[1,0] + 10*[0,]
         data0 += 10*[0,] + 40*[0,1] + 10*[0,]
@@ -73,8 +73,8 @@ class my_top_block(gr.top_block):
         pyQt = self.snk1.pyqwidget()
 
         # Wrap the pointer as a PyQt SIP object
-        # This can now be manipulated as a PyQt4.QtGui.QWidget
-        pyWin = sip.wrapinstance(pyQt, QtGui.QWidget)
+        # This can now be manipulated as a PyQt5.QtWidgets.QWidget
+        pyWin = sip.wrapinstance(pyQt, QtWidgets.QWidget)
 
         self.main_box = dialog_box(pyWin)
         self.main_box.show()
@@ -84,4 +84,3 @@ if __name__ == "__main__":
     tb.start()
     tb.qapp.exec_()
     tb.stop()
-
diff --git a/gr-qtgui/examples/pyqt_time_raster_f.py b/gr-qtgui/examples/pyqt_time_raster_f.py
index c5261520db..0f9de94bcb 100755
--- a/gr-qtgui/examples/pyqt_time_raster_f.py
+++ b/gr-qtgui/examples/pyqt_time_raster_f.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright 2012,2013 Free Software Foundation, Inc.
+# Copyright 2012,2013,2015 Free Software Foundation, Inc.
 #
 # This file is part of GNU Radio
 #
@@ -26,18 +26,18 @@ import sys
 
 try:
     from gnuradio import qtgui
-    from PyQt4 import QtGui, QtCore
+    from PyQt5 import QtWidgets, Qt
     import sip
 except ImportError:
-    print "Error: Program requires PyQt4 and gr-qtgui."
+    print "Error: Program requires PyQt5 and gr-qtgui."
     sys.exit(1)
 
-class dialog_box(QtGui.QWidget):
+class dialog_box(QtWidgets.QWidget):
     def __init__(self, display):
-        QtGui.QWidget.__init__(self, None)
+        QtWidgets.QWidget.__init__(self, None)
         self.setWindowTitle('PyQt Test GUI')
 
-        self.boxlayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self)
+        self.boxlayout = QtWidgets.QBoxLayout(QtWidgets.QBoxLayout.LeftToRight, self)
         self.boxlayout.addWidget(display, 1)
 
         self.resize(800, 500)
@@ -46,7 +46,7 @@ class my_top_block(gr.top_block):
     def __init__(self):
         gr.top_block.__init__(self)
 
-        self.qapp = QtGui.QApplication(sys.argv)
+        self.qapp = QtWidgets.QApplication(sys.argv)
 
         data0  = 10*[0,] + 40*[1,0] + 10*[0,]
         data0 += 10*[0,] + 40*[0,1] + 10*[0,]
@@ -72,8 +72,8 @@ class my_top_block(gr.top_block):
         pyQt = self.snk1.pyqwidget()
 
         # Wrap the pointer as a PyQt SIP object
-        # This can now be manipulated as a PyQt4.QtGui.QWidget
-        pyWin = sip.wrapinstance(pyQt, QtGui.QWidget)
+        # This can now be manipulated as a PyQt5.QtWidgets.QWidget
+        pyWin = sip.wrapinstance(pyQt, QtWidgets.QWidget)
 
         self.main_box = dialog_box(pyWin)
         self.main_box.show()
@@ -83,4 +83,3 @@ if __name__ == "__main__":
     tb.start()
     tb.qapp.exec_()
     tb.stop()
-
diff --git a/gr-qtgui/examples/pyqt_waterfall_c.py b/gr-qtgui/examples/pyqt_waterfall_c.py
index 8ec62fc1e2..3f7119f97f 100755
--- a/gr-qtgui/examples/pyqt_waterfall_c.py
+++ b/gr-qtgui/examples/pyqt_waterfall_c.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright 2012,2015 Free Software Foundation, Inc.
 #
 # This file is part of GNU Radio
 #
@@ -26,7 +26,7 @@ import sys
 
 try:
     from gnuradio import qtgui
-    from PyQt4 import QtGui, QtCore
+    from PyQt5 import QtWidgets, Qt
     import sip
 except ImportError:
     sys.stderr.write("Error: Program requires PyQt4 and gr-qtgui.\n")
@@ -44,71 +44,66 @@ except ImportError:
     sys.stderr.write("Error: Program requires gr-channels.\n")
     sys.exit(1)
 
-class dialog_box(QtGui.QWidget):
+class dialog_box(QtWidgets.QWidget):
     def __init__(self, display, control):
-        QtGui.QWidget.__init__(self, None)
+        QtWidgets.QWidget.__init__(self, None)
         self.setWindowTitle('PyQt Test GUI')
 
-        self.boxlayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self)
+        self.boxlayout = QtWidgets.QBoxLayout(QtWidgets.QBoxLayout.LeftToRight, self)
         self.boxlayout.addWidget(display, 1)
         self.boxlayout.addWidget(control)
 
         self.resize(800, 500)
 
-class control_box(QtGui.QWidget):
+class control_box(QtWidgets.QWidget):
     def __init__(self, parent=None):
-        QtGui.QWidget.__init__(self, parent)
+        QtWidgets.QWidget.__init__(self, parent)
         self.setWindowTitle('Control Panel')
 
         self.setToolTip('Control the signals')
-        QtGui.QToolTip.setFont(QtGui.QFont('OldEnglish', 10))
+        QtWidgets.QToolTip.setFont(Qt.QFont('OldEnglish', 10))
 
-        self.layout = QtGui.QFormLayout(self)
+        self.layout = QtWidgets.QFormLayout(self)
 
         # Control the first signal
-        self.freq1Edit = QtGui.QLineEdit(self)
+        self.freq1Edit = QtWidgets.QLineEdit(self)
         self.freq1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Frequency:", self.freq1Edit)
-        self.connect(self.freq1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq1EditText)
+        self.freq1Edit.editingFinished.connect(self.freq1EditText)
 
-        self.amp1Edit = QtGui.QLineEdit(self)
+        self.amp1Edit = QtWidgets.QLineEdit(self)
         self.amp1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Amplitude:", self.amp1Edit)
-        self.connect(self.amp1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp1EditText)
+        self.amp1Edit.editingFinished.connect(self.amp1EditText)
 
 
         # Control the second signal
-        self.freq2Edit = QtGui.QLineEdit(self)
+        self.freq2Edit = QtWidgets.QLineEdit(self)
         self.freq2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Frequency:", self.freq2Edit)
-        self.connect(self.freq2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq2EditText)
+        self.freq2Edit.editingFinished.connect(self.freq2EditText)
 
 
-        self.amp2Edit = QtGui.QLineEdit(self)
+        self.amp2Edit = QtWidgets.QLineEdit(self)
         self.amp2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Amplitude:", self.amp2Edit)
-        self.connect(self.amp2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp2EditText)
+        self.amp2Edit.editingFinished.connect(self.amp2EditText)
 
-        self.quit = QtGui.QPushButton('Close', self)
+        self.quit = QtWidgets.QPushButton('Close', self)
         self.quit.setMinimumWidth(100)
         self.layout.addWidget(self.quit)
 
-        self.connect(self.quit, QtCore.SIGNAL('clicked()'),
-                     QtGui.qApp, QtCore.SLOT('quit()'))
+        self.quit.clicked.connect(QtWidgets.qApp.quit)
 
     def attach_signal1(self, signal):
         self.signal1 = signal
-        self.freq1Edit.setText(QtCore.QString("%1").arg(self.signal1.frequency()))
-        self.amp1Edit.setText(QtCore.QString("%1").arg(self.signal1.amplitude()))
+        self.freq1Edit.setText(("{0}").format(self.signal1.frequency()))
+        self.amp1Edit.setText(("{0}").format(self.signal1.amplitude()))
 
     def attach_signal2(self, signal):
         self.signal2 = signal
-        self.freq2Edit.setText(QtCore.QString("%1").arg(self.signal2.frequency()))
-        self.amp2Edit.setText(QtCore.QString("%1").arg(self.signal2.amplitude()))
+        self.freq2Edit.setText(("{0}").format(self.signal2.frequency()))
+        self.amp2Edit.setText(("{0}").format(self.signal2.amplitude()))
 
     def freq1EditText(self):
         try:
@@ -152,7 +147,7 @@ class my_top_block(gr.top_block):
 
         taps = filter.firdes.complex_band_pass_2(1, Rs, 1500, 2500, 100, 60)
 
-        self.qapp = QtGui.QApplication(sys.argv)
+        self.qapp = QtWidgets.QApplication(sys.argv)
         ss = open(gr.prefix() + '/share/gnuradio/themes/dark.qss')
         sstext = ss.read()
         ss.close()
@@ -167,6 +162,8 @@ class my_top_block(gr.top_block):
         self.snk1 = qtgui.waterfall_sink_c(npts, filter.firdes.WIN_BLACKMAN_hARRIS,
                                            0, Rs,
                                            "Complex Waterfall Example", 2)
+        self.snk1.set_color_map(0, qtgui.INTENSITY_COLOR_MAP_TYPE_COOL)
+        self.snk1.set_color_map(1, qtgui.INTENSITY_COLOR_MAP_TYPE_COOL)
 
         self.connect(src1, (src,0))
         self.connect(src2, (src,1))
@@ -181,8 +178,8 @@ class my_top_block(gr.top_block):
         pyQt  = self.snk1.pyqwidget()
 
         # Wrap the pointer as a PyQt SIP object
-        # This can now be manipulated as a PyQt4.QtGui.QWidget
-        pyWin = sip.wrapinstance(pyQt, QtGui.QWidget)
+        # This can now be manipulated as a PyQt5.QtWidgets.QWidget
+        pyWin = sip.wrapinstance(pyQt, QtWidgets.QWidget)
 
         #pyWin.show()
         self.main_box = dialog_box(pyWin, self.ctrl_win)
diff --git a/gr-qtgui/examples/pyqt_waterfall_f.py b/gr-qtgui/examples/pyqt_waterfall_f.py
index f9680c28cf..71c72afad6 100755
--- a/gr-qtgui/examples/pyqt_waterfall_f.py
+++ b/gr-qtgui/examples/pyqt_waterfall_f.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright 2012,2015 Free Software Foundation, Inc.
 #
 # This file is part of GNU Radio
 #
@@ -26,10 +26,10 @@ import sys
 
 try:
     from gnuradio import qtgui
-    from PyQt4 import QtGui, QtCore
+    from PyQt5 import QtWidgets, Qt
     import sip
 except ImportError:
-    sys.stderr.write("Error: Program requires PyQt4 and gr-qtgui.\n")
+    sys.stderr.write("Error: Program requires PyQt5 and gr-qtgui.\n")
     sys.exit(1)
 
 try:
@@ -38,71 +38,66 @@ except ImportError:
     sys.stderr.write("Error: Program requires gr-analog.\n")
     sys.exit(1)
 
-class dialog_box(QtGui.QWidget):
+class dialog_box(QtWidgets.QWidget):
     def __init__(self, display, control):
-        QtGui.QWidget.__init__(self, None)
+        QtWidgets.QWidget.__init__(self, None)
         self.setWindowTitle('PyQt Test GUI')
 
-        self.boxlayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self)
+        self.boxlayout = QtWidgets.QBoxLayout(QtWidgets.QBoxLayout.LeftToRight, self)
         self.boxlayout.addWidget(display, 1)
         self.boxlayout.addWidget(control)
 
         self.resize(800, 500)
 
-class control_box(QtGui.QWidget):
+class control_box(QtWidgets.QWidget):
     def __init__(self, parent=None):
-        QtGui.QWidget.__init__(self, parent)
+        QtWidgets.QWidget.__init__(self, parent)
         self.setWindowTitle('Control Panel')
 
         self.setToolTip('Control the signals')
-        QtGui.QToolTip.setFont(QtGui.QFont('OldEnglish', 10))
+        QtWidgets.QToolTip.setFont(Qt.QFont('OldEnglish', 10))
 
-        self.layout = QtGui.QFormLayout(self)
+        self.layout = QtWidgets.QFormLayout(self)
 
         # Control the first signal
-        self.freq1Edit = QtGui.QLineEdit(self)
+        self.freq1Edit = QtWidgets.QLineEdit(self)
         self.freq1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Frequency:", self.freq1Edit)
-        self.connect(self.freq1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq1EditText)
+        self.freq1Edit.editingFinished.connect(self.freq1EditText)
 
-        self.amp1Edit = QtGui.QLineEdit(self)
+        self.amp1Edit = QtWidgets.QLineEdit(self)
         self.amp1Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 1 Amplitude:", self.amp1Edit)
-        self.connect(self.amp1Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp1EditText)
+        self.amp1Edit.editingFinished.connect(self.amp1EditText)
 
 
         # Control the second signal
-        self.freq2Edit = QtGui.QLineEdit(self)
+        self.freq2Edit = QtWidgets.QLineEdit(self)
         self.freq2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Frequency:", self.freq2Edit)
-        self.connect(self.freq2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.freq2EditText)
+        self.freq2Edit.editingFinished.connect(self.freq2EditText)
 
 
-        self.amp2Edit = QtGui.QLineEdit(self)
+        self.amp2Edit = QtWidgets.QLineEdit(self)
         self.amp2Edit.setMinimumWidth(100)
         self.layout.addRow("Signal 2 Amplitude:", self.amp2Edit)
-        self.connect(self.amp2Edit, QtCore.SIGNAL("editingFinished()"),
-                     self.amp2EditText)
+        self.amp2Edit.editingFinished.connect(self.amp2EditText)
 
-        self.quit = QtGui.QPushButton('Close', self)
+        self.quit = QtWidgets.QPushButton('Close', self)
         self.quit.setMinimumWidth(100)
         self.layout.addWidget(self.quit)
 
-        self.connect(self.quit, QtCore.SIGNAL('clicked()'),
-                     QtGui.qApp, QtCore.SLOT('quit()'))
+        self.quit.clicked.connect(QtWidgets.qApp.quit)
 
     def attach_signal1(self, signal):
         self.signal1 = signal
-        self.freq1Edit.setText(QtCore.QString("%1").arg(self.signal1.frequency()))
-        self.amp1Edit.setText(QtCore.QString("%1").arg(self.signal1.amplitude()))
+        self.freq1Edit.setText(("{0}").format(self.signal1.frequency()))
+        self.amp1Edit.setText(("{0}").format(self.signal1.amplitude()))
 
     def attach_signal2(self, signal):
         self.signal2 = signal
-        self.freq2Edit.setText(QtCore.QString("%1").arg(self.signal2.frequency()))
-        self.amp2Edit.setText(QtCore.QString("%1").arg(self.signal2.amplitude()))
+        self.freq2Edit.setText(("{0}").format(self.signal2.frequency()))
+        self.amp2Edit.setText(("{0}").format(self.signal2.amplitude()))
 
     def freq1EditText(self):
         try:
@@ -144,7 +139,7 @@ class my_top_block(gr.top_block):
 
         npts = 2048
 
-        self.qapp = QtGui.QApplication(sys.argv)
+        self.qapp = QtWidgets.QApplication(sys.argv)
 
         src1 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f1, 0.1, 0)
         src2 = analog.sig_source_f(Rs, analog.GR_SIN_WAVE, f2, 0.1, 0)
@@ -153,6 +148,8 @@ class my_top_block(gr.top_block):
         self.snk1 = qtgui.waterfall_sink_f(npts, filter.firdes.WIN_BLACKMAN_hARRIS,
                                            0, Rs,
                                            "Real Waterfall Example", 2)
+        self.snk1.set_color_map(0, qtgui.INTENSITY_COLOR_MAP_TYPE_COOL)
+        self.snk1.set_color_map(1, qtgui.INTENSITY_COLOR_MAP_TYPE_COOL)
 
         self.connect(src1, (src,0))
         self.connect(src2, (src,1))
@@ -167,8 +164,8 @@ class my_top_block(gr.top_block):
         pyQt  = self.snk1.pyqwidget()
 
         # Wrap the pointer as a PyQt SIP object
-        # This can now be manipulated as a PyQt4.QtGui.QWidget
-        pyWin = sip.wrapinstance(pyQt, QtGui.QWidget)
+        # This can now be manipulated as a PyQt5.QtWidgets.QWidget
+        pyWin = sip.wrapinstance(pyQt, QtWidgets.QWidget)
 
         #pyWin.show()
         self.main_box = dialog_box(pyWin, self.ctrl_win)
@@ -179,4 +176,3 @@ if __name__ == "__main__":
     tb.start()
     tb.qapp.exec_()
     tb.stop()
-
diff --git a/gr-qtgui/examples/qtgui_tags_viewing.grc b/gr-qtgui/examples/qtgui_tags_viewing.grc
index 4c6454537a..635b1e43fa 100644
--- a/gr-qtgui/examples/qtgui_tags_viewing.grc
+++ b/gr-qtgui/examples/qtgui_tags_viewing.grc
@@ -1,22 +1,23 @@
-<?xml version='1.0' encoding='ASCII'?>
+<?xml version='1.0' encoding='utf-8'?>
+<?grc format='1' created='3.8.git'?>
 <flow_graph>
   <timestamp>Wed Nov  6 11:52:40 2013</timestamp>
   <block>
     <key>options</key>
     <param>
-      <key>id</key>
-      <value>qtgui_tags_viewing</value>
+      <key>author</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>window_size</key>
+      <value>1280, 1024</value>
     </param>
     <param>
-      <key>title</key>
-      <value></value>
+      <key>category</key>
+      <value>Custom</value>
     </param>
     <param>
-      <key>author</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
@@ -24,241 +25,260 @@
       <value></value>
     </param>
     <param>
-      <key>window_size</key>
-      <value>1280, 1024</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>generate_options</key>
-      <value>qt_gui</value>
+      <key>_coordinate</key>
+      <value>(10, 10)</value>
     </param>
     <param>
-      <key>category</key>
-      <value>Custom</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>run_options</key>
-      <value>run</value>
+      <key>generate_options</key>
+      <value>qt_gui</value>
     </param>
     <param>
-      <key>run</key>
-      <value>True</value>
+      <key>id</key>
+      <value>qtgui_tags_viewing</value>
     </param>
     <param>
       <key>max_nouts</key>
       <value>0</value>
     </param>
     <param>
-      <key>realtime_scheduling</key>
+      <key>qt_qss_theme</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(10, 10)</value>
+      <key>realtime_scheduling</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>run_command</key>
+      <value>{python} -u {filename}</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
-      <key>id</key>
-      <value>samp_rate</value>
+      <key>run_options</key>
+      <value>run</value>
     </param>
     <param>
-      <key>_enabled</key>
+      <key>run</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>32000</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(172, 10)</value>
+      <key>thread_safe_setters</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>title</key>
+      <value></value>
     </param>
   </block>
   <block>
-    <key>import</key>
+    <key>variable_qtgui_range</key>
     <param>
-      <key>id</key>
-      <value>import_1</value>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>300</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>import</key>
-      <value>from gnuradio.digital.utils import tagged_streams</value>
+      <key>_coordinate</key>
+      <value>(814, 390)</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(99, 72)</value>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>import</key>
     <param>
       <key>id</key>
-      <value>import_0</value>
+      <value>delay</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label</key>
+      <value>Delay</value>
     </param>
     <param>
-      <key>import</key>
-      <value>import scipy</value>
+      <key>min_len</key>
+      <value>200</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(9, 71)</value>
+      <key>orient</key>
+      <value>Qt.Horizontal</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>start</key>
       <value>0</value>
     </param>
+    <param>
+      <key>step</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>stop</key>
+      <value>1000</value>
+    </param>
+    <param>
+      <key>rangeType</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>widget</key>
+      <value>counter_slider</value>
+    </param>
   </block>
   <block>
-    <key>import</key>
+    <key>variable_qtgui_range</key>
     <param>
-      <key>id</key>
-      <value>import_2</value>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>30</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>import</key>
-      <value>import time</value>
+      <key>_coordinate</key>
+      <value>(936, 392)</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(253, 71)</value>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_delay</key>
     <param>
       <key>id</key>
-      <value>blocks_delay_0</value>
+      <value>ntaps</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label</key>
+      <value>Num Taps</value>
     </param>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>min_len</key>
+      <value>200</value>
     </param>
     <param>
-      <key>delay</key>
-      <value>1000</value>
+      <key>orient</key>
+      <value>Qt.Horizontal</value>
     </param>
     <param>
-      <key>num_ports</key>
+      <key>start</key>
       <value>1</value>
     </param>
     <param>
-      <key>vlen</key>
+      <key>step</key>
       <value>1</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
-    </param>
-    <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>stop</key>
+      <value>100</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(300, 240)</value>
+      <key>rangeType</key>
+      <value>float</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>widget</key>
+      <value>counter_slider</value>
     </param>
   </block>
   <block>
-    <key>blocks_tags_strobe</key>
+    <key>variable</key>
     <param>
-      <key>id</key>
-      <value>blocks_tags_strobe_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>_coordinate</key>
+      <value>(172, 10)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>samp_rate</value>
     </param>
     <param>
       <key>value</key>
-      <value>pmt.intern("TEST")</value>
+      <value>32000</value>
     </param>
+  </block>
+  <block>
+    <key>analog_fastnoise_source_x</key>
     <param>
-      <key>nsamps</key>
-      <value>10000</value>
+      <key>amp</key>
+      <value>0.004</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(16, 232)</value>
+      <value>(350, 39)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>analog_fastnoise_source_x</key>
     <param>
       <key>id</key>
       <value>analog_fastnoise_source_x_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>noise_type</key>
       <value>analog.GR_GAUSSIAN</value>
     </param>
     <param>
-      <key>amp</key>
-      <value>0.004</value>
+      <key>type</key>
+      <value>complex</value>
     </param>
     <param>
       <key>seed</key>
@@ -268,85 +288,101 @@
       <key>samples</key>
       <value>8192</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_add_xx</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(350, 39)</value>
+      <value>(482, 193)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_vector_source_x</key>
     <param>
       <key>id</key>
-      <value>blocks_vector_source_x_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>blocks_add_xx_0</value>
     </param>
     <param>
       <key>type</key>
       <value>complex</value>
     </param>
     <param>
-      <key>vector</key>
-      <value>[0.85+0.5j, 0.85, 0.85, 0.85+0.5j] + (10000-4)*[0,]</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>tags</key>
-      <value>tagged_streams.make_lengthtags((1024,), (0,), "testing tags 0")</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>num_inputs</key>
+      <value>2</value>
     </param>
     <param>
       <key>vlen</key>
       <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_add_xx</key>
     <param>
-      <key>affinity</key>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(13, 132)</value>
+      <value>(707, 176)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_add_xx</key>
     <param>
       <key>id</key>
-      <value>blocks_add_xx_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>blocks_add_xx_1</value>
     </param>
     <param>
       <key>type</key>
       <value>complex</value>
     </param>
     <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
       <key>num_inputs</key>
       <value>2</value>
     </param>
@@ -354,439 +390,1691 @@
       <key>vlen</key>
       <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_delay</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>delay</key>
+      <value>1000</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(482, 193)</value>
+      <value>(300, 240)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_add_xx</key>
     <param>
       <key>id</key>
-      <value>blocks_add_xx_1</value>
+      <value>blocks_delay_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>num_inputs</key>
-      <value>2</value>
+      <key>num_ports</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>complex</value>
     </param>
     <param>
       <key>vlen</key>
       <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_delay</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>delay</key>
+      <value>int(delay)</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(707, 176)</value>
+      <value>(890, 44)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_throttle</key>
     <param>
       <key>id</key>
-      <value>blocks_throttle_0</value>
+      <value>blocks_delay_0_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>samples_per_second</key>
-      <value>50e3</value>
+      <key>num_ports</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>complex</value>
     </param>
     <param>
       <key>vlen</key>
       <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_tags_strobe</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(266, 149)</value>
+      <value>(16, 232)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable_qtgui_range</key>
     <param>
       <key>id</key>
-      <value>ntaps</value>
+      <value>blocks_tags_strobe_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>key</key>
+      <value>pmt.intern("strobe")</value>
     </param>
     <param>
-      <key>label</key>
-      <value>Num Taps</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>value</key>
-      <value>30</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>start</key>
-      <value>1</value>
+      <key>nsamps</key>
+      <value>10000</value>
     </param>
     <param>
-      <key>stop</key>
-      <value>100</value>
+      <key>type</key>
+      <value>complex</value>
     </param>
     <param>
-      <key>step</key>
-      <value>1</value>
+      <key>value</key>
+      <value>pmt.intern("TEST")</value>
     </param>
     <param>
-      <key>widget</key>
-      <value>counter_slider</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_throttle</key>
     <param>
-      <key>orient</key>
-      <value>Qt.Horizontal</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>min_len</key>
-      <value>200</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>gui_hint</key>
+      <key>affinity</key>
       <value></value>
     </param>
     <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(936, 392)</value>
+      <value>(266, 149)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>qtgui_time_sink_x</key>
     <param>
       <key>id</key>
-      <value>qtgui_time_sink_x_0_1_0</value>
+      <value>blocks_throttle_0</value>
     </param>
     <param>
-      <key>_enabled</key>
+      <key>ignoretag</key>
       <value>True</value>
     </param>
     <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>samples_per_second</key>
+      <value>50e3</value>
+    </param>
+    <param>
       <key>type</key>
       <value>complex</value>
     </param>
     <param>
-      <key>name</key>
+      <key>vlen</key>
+      <value>1</value>
+    </param>
+  </block>
+  <block>
+    <key>blocks_throttle</key>
+    <param>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>size</key>
-      <value>5100</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>srate</key>
-      <value>samp_rate</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>ymin</key>
-      <value>-0.1</value>
+      <key>_enabled</key>
+      <value>False</value>
     </param>
     <param>
-      <key>ymax</key>
-      <value>1.5</value>
+      <key>_coordinate</key>
+      <value>(267, 414)</value>
     </param>
     <param>
-      <key>nconnections</key>
-      <value>1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>update_time</key>
-      <value>0.001</value>
+      <key>id</key>
+      <value>blocks_throttle_0_0</value>
     </param>
     <param>
-      <key>tr_mode</key>
-      <value>qtgui.TRIG_MODE_TAG</value>
+      <key>ignoretag</key>
+      <value>True</value>
     </param>
     <param>
-      <key>tr_slope</key>
-      <value>qtgui.TRIG_SLOPE_POS</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>tr_level</key>
-      <value>.5</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>tr_delay</key>
-      <value>0.06</value>
+      <key>samples_per_second</key>
+      <value>samp_rate</value>
     </param>
     <param>
-      <key>tr_chan</key>
-      <value>0</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>tr_tag</key>
-      <value>strobe</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_vector_source_x</key>
     <param>
-      <key>entags</key>
-      <value>True</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>gui_hint</key>
-      <value>1,1,1,1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(857, 173)</value>
+      <value>(13, 132)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>blocks_vector_source_x_0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>complex</value>
+    </param>
+    <param>
+      <key>repeat</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>tags</key>
+      <value>tagged_streams.make_lengthtags((1024,), (0,), "testing tags 0")</value>
+    </param>
+    <param>
+      <key>vlen</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>vector</key>
+      <value>[0.85+0.5j, 0.85, 0.85, 0.85+0.5j] + (10000-4)*[0,]</value>
+    </param>
+  </block>
+  <block>
+    <key>blocks_vector_source_x</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(15, 315)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>blocks_vector_source_x_0_0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>complex</value>
+    </param>
+    <param>
+      <key>repeat</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>tags</key>
+      <value>tagged_streams.make_lengthtags((128,), (1500,), "second stream")</value>
+    </param>
+    <param>
+      <key>vlen</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>vector</key>
+      <value>1500*[0,] + [0.25+0j,] + (10000-1500-1)*[0,]</value>
+    </param>
+  </block>
+  <block>
+    <key>blocks_vector_source_x</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(15, 489)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>blocks_vector_source_x_0_0_0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>repeat</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>tags</key>
+      <value>tagged_streams.make_lengthtags((128,), (110,), "second stream")</value>
+    </param>
+    <param>
+      <key>vlen</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>vector</key>
+      <value>10*[0,] + [0.5,] + (100-10-1)*[0,]</value>
+    </param>
+  </block>
+  <block>
+    <key>blocks_vector_source_x</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(15, 398)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>blocks_vector_source_x_0_1</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>repeat</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>tags</key>
+      <value>tagged_streams.make_lengthtags((1024,), (0,), "testing tags")</value>
+    </param>
+    <param>
+      <key>vlen</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>vector</key>
+      <value>[-0.85,] + (100-1)*[0,]</value>
+    </param>
+  </block>
+  <block>
+    <key>fir_filter_xxx</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>decim</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(660, 76)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>fir_filter_xxx_0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>samp_delay</key>
+      <value>int(ntaps)</value>
+    </param>
+    <param>
+      <key>taps</key>
+      <value>int(ntaps)*[1,]+[1,]</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>ccc</value>
+    </param>
+  </block>
+  <block>
+    <key>import</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(9, 71)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>import_0</value>
+    </param>
+    <param>
+      <key>import</key>
+      <value>import scipy</value>
+    </param>
+  </block>
+  <block>
+    <key>import</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(99, 72)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>import_1</value>
+    </param>
+    <param>
+      <key>import</key>
+      <value>from gnuradio.digital.utils import tagged_streams</value>
+    </param>
+  </block>
+  <block>
+    <key>import</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(253, 71)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>import_2</value>
+    </param>
+    <param>
+      <key>import</key>
+      <value>import time</value>
+    </param>
+  </block>
+  <block>
+    <key>qtgui_time_sink_x</key>
+    <param>
+      <key>autoscale</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>ctrlpanel</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>entags</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(860, 298)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>grid</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>qtgui_time_sink_x_0</value>
+    </param>
+    <param>
+      <key>legend</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>alpha1</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color1</key>
+      <value>"blue"</value>
+    </param>
+    <param>
+      <key>label1</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker1</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha10</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color10</key>
+      <value>"blue"</value>
+    </param>
+    <param>
+      <key>label10</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker10</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style10</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width10</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha2</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color2</key>
+      <value>"red"</value>
+    </param>
+    <param>
+      <key>label2</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker2</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style2</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width2</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha3</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color3</key>
+      <value>"green"</value>
+    </param>
+    <param>
+      <key>label3</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker3</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style3</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width3</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha4</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color4</key>
+      <value>"black"</value>
+    </param>
+    <param>
+      <key>label4</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker4</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style4</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width4</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha5</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color5</key>
+      <value>"cyan"</value>
+    </param>
+    <param>
+      <key>label5</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker5</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style5</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width5</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha6</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color6</key>
+      <value>"magenta"</value>
+    </param>
+    <param>
+      <key>label6</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker6</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style6</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width6</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha7</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color7</key>
+      <value>"yellow"</value>
+    </param>
+    <param>
+      <key>label7</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker7</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style7</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width7</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha8</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color8</key>
+      <value>"dark red"</value>
+    </param>
+    <param>
+      <key>label8</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker8</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style8</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width8</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha9</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color9</key>
+      <value>"dark green"</value>
+    </param>
+    <param>
+      <key>label9</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker9</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style9</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width9</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>name</key>
+      <value></value>
+    </param>
+    <param>
+      <key>nconnections</key>
+      <value>2</value>
+    </param>
+    <param>
+      <key>size</key>
+      <value>18000</value>
+    </param>
+    <param>
+      <key>srate</key>
+      <value>samp_rate</value>
+    </param>
+    <param>
+      <key>tr_chan</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>tr_delay</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>tr_level</key>
+      <value>0.1</value>
+    </param>
+    <param>
+      <key>tr_mode</key>
+      <value>qtgui.TRIG_MODE_NORM</value>
+    </param>
+    <param>
+      <key>tr_slope</key>
+      <value>qtgui.TRIG_SLOPE_POS</value>
+    </param>
+    <param>
+      <key>tr_tag</key>
+      <value>""</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>complex</value>
+    </param>
+    <param>
+      <key>update_time</key>
+      <value>0.10</value>
+    </param>
+    <param>
+      <key>ylabel</key>
+      <value>Amplitude</value>
+    </param>
+    <param>
+      <key>yunit</key>
+      <value>""</value>
+    </param>
+    <param>
+      <key>ymax</key>
+      <value>1.5</value>
+    </param>
+    <param>
+      <key>ymin</key>
+      <value>-0.1</value>
+    </param>
+  </block>
+  <block>
+    <key>qtgui_time_sink_x</key>
+    <param>
+      <key>autoscale</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>ctrlpanel</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>entags</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(475, 444)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>grid</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>qtgui_time_sink_x_0_0</value>
+    </param>
+    <param>
+      <key>legend</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>alpha1</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color1</key>
+      <value>"blue"</value>
+    </param>
+    <param>
+      <key>label1</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker1</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha10</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color10</key>
+      <value>"blue"</value>
+    </param>
+    <param>
+      <key>label10</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker10</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style10</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width10</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha2</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color2</key>
+      <value>"red"</value>
+    </param>
+    <param>
+      <key>label2</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker2</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style2</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width2</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha3</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color3</key>
+      <value>"green"</value>
+    </param>
+    <param>
+      <key>label3</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker3</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style3</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width3</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha4</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color4</key>
+      <value>"black"</value>
+    </param>
+    <param>
+      <key>label4</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker4</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style4</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width4</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha5</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color5</key>
+      <value>"cyan"</value>
+    </param>
+    <param>
+      <key>label5</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker5</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style5</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width5</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha6</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color6</key>
+      <value>"magenta"</value>
+    </param>
+    <param>
+      <key>label6</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker6</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style6</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width6</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha7</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color7</key>
+      <value>"yellow"</value>
+    </param>
+    <param>
+      <key>label7</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker7</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style7</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width7</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha8</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color8</key>
+      <value>"dark red"</value>
+    </param>
+    <param>
+      <key>label8</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker8</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style8</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width8</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha9</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color9</key>
+      <value>"dark green"</value>
+    </param>
+    <param>
+      <key>label9</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker9</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style9</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width9</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>name</key>
+      <value></value>
+    </param>
+    <param>
+      <key>nconnections</key>
+      <value>2</value>
+    </param>
+    <param>
+      <key>size</key>
+      <value>1024</value>
+    </param>
+    <param>
+      <key>srate</key>
+      <value>samp_rate</value>
+    </param>
+    <param>
+      <key>tr_chan</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>tr_delay</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>tr_level</key>
+      <value>0.0</value>
+    </param>
+    <param>
+      <key>tr_mode</key>
+      <value>qtgui.TRIG_MODE_TAG</value>
+    </param>
+    <param>
+      <key>tr_slope</key>
+      <value>qtgui.TRIG_SLOPE_POS</value>
+    </param>
+    <param>
+      <key>tr_tag</key>
+      <value>second stream</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>update_time</key>
+      <value>0.10</value>
+    </param>
+    <param>
+      <key>ylabel</key>
+      <value>Amplitude</value>
+    </param>
+    <param>
+      <key>yunit</key>
+      <value>""</value>
+    </param>
+    <param>
+      <key>ymax</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>ymin</key>
+      <value>-1</value>
+    </param>
+  </block>
+  <block>
+    <key>qtgui_time_sink_x</key>
+    <param>
+      <key>autoscale</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>ctrlpanel</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>entags</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(1072, 77)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value>1,0,1,1</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>grid</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>qtgui_time_sink_x_0_1</value>
+    </param>
+    <param>
+      <key>legend</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>alpha1</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color1</key>
+      <value>"blue"</value>
+    </param>
+    <param>
+      <key>label1</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker1</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha10</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color10</key>
+      <value>"blue"</value>
+    </param>
+    <param>
+      <key>label10</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker10</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style10</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>width10</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_vector_source_x</key>
     <param>
-      <key>id</key>
-      <value>blocks_vector_source_x_0_0</value>
+      <key>alpha2</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>color2</key>
+      <value>"red"</value>
     </param>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>label2</key>
+      <value></value>
     </param>
     <param>
-      <key>vector</key>
-      <value>1500*[0,] + [0.25+0j,] + (10000-1500-1)*[0,]</value>
+      <key>marker2</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>tags</key>
-      <value>tagged_streams.make_lengthtags((128,), (1500,), "second stream")</value>
+      <key>style2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>width2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>alpha3</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>color3</key>
+      <value>"green"</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>label3</key>
+      <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(15, 315)</value>
+      <key>marker3</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>style3</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>qtgui_time_sink_x</key>
     <param>
-      <key>id</key>
-      <value>qtgui_time_sink_x_0</value>
+      <key>width3</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>alpha4</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>color4</key>
+      <value>"black"</value>
     </param>
     <param>
-      <key>name</key>
+      <key>label4</key>
       <value></value>
     </param>
     <param>
-      <key>size</key>
-      <value>18000</value>
+      <key>marker4</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>srate</key>
-      <value>samp_rate</value>
+      <key>style4</key>
+      <value>1</value>
     </param>
     <param>
-      <key>ymin</key>
-      <value>-0.1</value>
+      <key>width4</key>
+      <value>1</value>
     </param>
     <param>
-      <key>ymax</key>
-      <value>1.5</value>
+      <key>alpha5</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>nconnections</key>
-      <value>2</value>
+      <key>color5</key>
+      <value>"cyan"</value>
     </param>
     <param>
-      <key>update_time</key>
-      <value>0.10</value>
+      <key>label5</key>
+      <value></value>
     </param>
     <param>
-      <key>tr_mode</key>
-      <value>qtgui.TRIG_MODE_NORM</value>
+      <key>marker5</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>tr_slope</key>
-      <value>qtgui.TRIG_SLOPE_POS</value>
+      <key>style5</key>
+      <value>1</value>
     </param>
     <param>
-      <key>tr_level</key>
-      <value>0.1</value>
+      <key>width5</key>
+      <value>1</value>
     </param>
     <param>
-      <key>tr_delay</key>
-      <value>0</value>
+      <key>alpha6</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>tr_chan</key>
-      <value>0</value>
+      <key>color6</key>
+      <value>"magenta"</value>
     </param>
     <param>
-      <key>tr_tag</key>
-      <value>""</value>
+      <key>label6</key>
+      <value></value>
     </param>
     <param>
-      <key>entags</key>
-      <value>True</value>
+      <key>marker6</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>gui_hint</key>
-      <value></value>
+      <key>style6</key>
+      <value>1</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>width6</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(860, 298)</value>
+      <key>alpha7</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>color7</key>
+      <value>"yellow"</value>
     </param>
-  </block>
-  <block>
-    <key>fir_filter_xxx</key>
     <param>
-      <key>id</key>
-      <value>fir_filter_xxx_0</value>
+      <key>label7</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>marker7</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>type</key>
-      <value>ccc</value>
+      <key>style7</key>
+      <value>1</value>
     </param>
     <param>
-      <key>decim</key>
+      <key>width7</key>
       <value>1</value>
     </param>
     <param>
-      <key>taps</key>
-      <value>int(ntaps)*[1,]+[1,]</value>
+      <key>alpha8</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>samp_delay</key>
-      <value>int(ntaps)</value>
+      <key>color8</key>
+      <value>"dark red"</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>label8</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>marker8</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(660, 76)</value>
+      <key>style8</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>width8</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>qtgui_time_sink_x</key>
     <param>
-      <key>id</key>
-      <value>qtgui_time_sink_x_0_1</value>
+      <key>alpha9</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>color9</key>
+      <value>"dark green"</value>
     </param>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>label9</key>
+      <value></value>
+    </param>
+    <param>
+      <key>marker9</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style9</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width9</key>
+      <value>1</value>
     </param>
     <param>
       <key>name</key>
       <value></value>
     </param>
     <param>
+      <key>nconnections</key>
+      <value>2</value>
+    </param>
+    <param>
       <key>size</key>
       <value>1000</value>
     </param>
@@ -795,20 +2083,16 @@
       <value>samp_rate</value>
     </param>
     <param>
-      <key>ymin</key>
-      <value>-0.1</value>
-    </param>
-    <param>
-      <key>ymax</key>
-      <value>4.5</value>
+      <key>tr_chan</key>
+      <value>0</value>
     </param>
     <param>
-      <key>nconnections</key>
-      <value>2</value>
+      <key>tr_delay</key>
+      <value>0.015</value>
     </param>
     <param>
-      <key>update_time</key>
-      <value>0.10</value>
+      <key>tr_level</key>
+      <value>.1</value>
     </param>
     <param>
       <key>tr_mode</key>
@@ -819,379 +2103,394 @@
       <value>qtgui.TRIG_SLOPE_POS</value>
     </param>
     <param>
-      <key>tr_level</key>
-      <value>.1</value>
+      <key>tr_tag</key>
+      <value>""</value>
     </param>
     <param>
-      <key>tr_delay</key>
-      <value>0.015</value>
+      <key>type</key>
+      <value>complex</value>
     </param>
     <param>
-      <key>tr_chan</key>
-      <value>0</value>
+      <key>update_time</key>
+      <value>0.10</value>
     </param>
     <param>
-      <key>tr_tag</key>
+      <key>ylabel</key>
+      <value>Amplitude</value>
+    </param>
+    <param>
+      <key>yunit</key>
       <value>""</value>
     </param>
     <param>
-      <key>entags</key>
-      <value>True</value>
+      <key>ymax</key>
+      <value>4.5</value>
     </param>
     <param>
-      <key>gui_hint</key>
-      <value>1,0,1,1</value>
+      <key>ymin</key>
+      <value>-0.1</value>
+    </param>
+  </block>
+  <block>
+    <key>qtgui_time_sink_x</key>
+    <param>
+      <key>autoscale</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>ctrlpanel</key>
+      <value>False</value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
+      <key>entags</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(1072, 77)</value>
+      <value>(857, 173)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value>1,1,1,1</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>qtgui_time_sink_x</key>
     <param>
-      <key>id</key>
-      <value>qtgui_time_sink_x_0_0</value>
+      <key>grid</key>
+      <value>False</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>False</value>
+      <key>id</key>
+      <value>qtgui_time_sink_x_0_1_0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>legend</key>
+      <value>True</value>
     </param>
     <param>
-      <key>name</key>
-      <value></value>
+      <key>alpha1</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>size</key>
-      <value>1024</value>
+      <key>color1</key>
+      <value>"blue"</value>
     </param>
     <param>
-      <key>srate</key>
-      <value>samp_rate</value>
+      <key>label1</key>
+      <value></value>
     </param>
     <param>
-      <key>ymin</key>
+      <key>marker1</key>
       <value>-1</value>
     </param>
     <param>
-      <key>ymax</key>
+      <key>style1</key>
       <value>1</value>
     </param>
     <param>
-      <key>nconnections</key>
-      <value>2</value>
+      <key>width1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>update_time</key>
-      <value>0.10</value>
+      <key>alpha10</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>tr_mode</key>
-      <value>qtgui.TRIG_MODE_TAG</value>
+      <key>color10</key>
+      <value>"blue"</value>
     </param>
     <param>
-      <key>tr_slope</key>
-      <value>qtgui.TRIG_SLOPE_POS</value>
+      <key>label10</key>
+      <value></value>
     </param>
     <param>
-      <key>tr_level</key>
-      <value>0.0</value>
+      <key>marker10</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>style10</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>width10</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>alpha2</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color2</key>
+      <value>"red"</value>
+    </param>
+    <param>
+      <key>label2</key>
+      <value></value>
     </param>
     <param>
-      <key>tr_delay</key>
-      <value>0</value>
+      <key>marker2</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>tr_chan</key>
+      <key>style2</key>
       <value>1</value>
     </param>
     <param>
-      <key>tr_tag</key>
-      <value>second stream</value>
+      <key>width2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>entags</key>
-      <value>True</value>
+      <key>alpha3</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>gui_hint</key>
-      <value></value>
+      <key>color3</key>
+      <value>"green"</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>label3</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(475, 444)</value>
+      <key>marker3</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>style3</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_vector_source_x</key>
     <param>
-      <key>id</key>
-      <value>blocks_vector_source_x_0_0_0</value>
+      <key>width3</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>False</value>
+      <key>alpha4</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>color4</key>
+      <value>"black"</value>
     </param>
     <param>
-      <key>vector</key>
-      <value>10*[0,] + [0.5,] + (100-10-1)*[0,]</value>
+      <key>label4</key>
+      <value></value>
     </param>
     <param>
-      <key>tags</key>
-      <value>tagged_streams.make_lengthtags((128,), (110,), "second stream")</value>
+      <key>marker4</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>style4</key>
+      <value>1</value>
     </param>
     <param>
-      <key>vlen</key>
+      <key>width4</key>
       <value>1</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>alpha5</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>color5</key>
+      <value>"cyan"</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(15, 489)</value>
+      <key>label5</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>marker5</key>
+      <value>-1</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_vector_source_x</key>
     <param>
-      <key>id</key>
-      <value>blocks_vector_source_x_0_1</value>
+      <key>style5</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>False</value>
+      <key>width5</key>
+      <value>1</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>alpha6</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>vector</key>
-      <value>[-0.85,] + (100-1)*[0,]</value>
+      <key>color6</key>
+      <value>"magenta"</value>
     </param>
     <param>
-      <key>tags</key>
-      <value>tagged_streams.make_lengthtags((1024,), (0,), "testing tags")</value>
+      <key>label6</key>
+      <value></value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>marker6</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>vlen</key>
+      <key>style6</key>
       <value>1</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>width6</key>
+      <value>1</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>alpha7</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(15, 398)</value>
+      <key>color7</key>
+      <value>"yellow"</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>label7</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>blocks_throttle</key>
     <param>
-      <key>id</key>
-      <value>blocks_throttle_0_0</value>
+      <key>marker7</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>False</value>
+      <key>style7</key>
+      <value>1</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>width7</key>
+      <value>1</value>
     </param>
     <param>
-      <key>samples_per_second</key>
-      <value>samp_rate</value>
+      <key>alpha8</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>color8</key>
+      <value>"dark red"</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>label8</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>marker8</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(267, 414)</value>
+      <key>style8</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>width8</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_delay</key>
     <param>
-      <key>id</key>
-      <value>blocks_delay_0_0</value>
+      <key>alpha9</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>color9</key>
+      <value>"dark green"</value>
     </param>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>label9</key>
+      <value></value>
     </param>
     <param>
-      <key>delay</key>
-      <value>int(delay)</value>
+      <key>marker9</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>num_ports</key>
+      <key>style9</key>
       <value>1</value>
     </param>
     <param>
-      <key>vlen</key>
+      <key>width9</key>
       <value>1</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>name</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(890, 44)</value>
+      <key>nconnections</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>size</key>
+      <value>5100</value>
     </param>
-  </block>
-  <block>
-    <key>variable_qtgui_range</key>
     <param>
-      <key>id</key>
-      <value>delay</value>
+      <key>srate</key>
+      <value>samp_rate</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>tr_chan</key>
+      <value>0</value>
     </param>
     <param>
-      <key>label</key>
-      <value>Delay</value>
+      <key>tr_delay</key>
+      <value>0.06</value>
     </param>
     <param>
-      <key>value</key>
-      <value>300</value>
+      <key>tr_level</key>
+      <value>.5</value>
     </param>
     <param>
-      <key>start</key>
-      <value>0</value>
+      <key>tr_mode</key>
+      <value>qtgui.TRIG_MODE_TAG</value>
     </param>
     <param>
-      <key>stop</key>
-      <value>1000</value>
+      <key>tr_slope</key>
+      <value>qtgui.TRIG_SLOPE_POS</value>
     </param>
     <param>
-      <key>step</key>
-      <value>1</value>
+      <key>tr_tag</key>
+      <value>strobe</value>
     </param>
     <param>
-      <key>widget</key>
-      <value>counter_slider</value>
+      <key>type</key>
+      <value>complex</value>
     </param>
     <param>
-      <key>orient</key>
-      <value>Qt.Horizontal</value>
+      <key>update_time</key>
+      <value>0.001</value>
     </param>
     <param>
-      <key>min_len</key>
-      <value>200</value>
+      <key>ylabel</key>
+      <value>Amplitude</value>
     </param>
     <param>
-      <key>gui_hint</key>
-      <value></value>
+      <key>yunit</key>
+      <value>""</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(814, 390)</value>
+      <key>ymax</key>
+      <value>1.5</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>ymin</key>
+      <value>-0.1</value>
     </param>
   </block>
   <connection>
-    <source_block_id>blocks_vector_source_x_0</source_block_id>
-    <sink_block_id>blocks_throttle_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>blocks_throttle_0</source_block_id>
-    <sink_block_id>blocks_add_xx_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>blocks_delay_0</source_block_id>
-    <sink_block_id>blocks_add_xx_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>1</sink_key>
-  </connection>
-  <connection>
     <source_block_id>analog_fastnoise_source_x_0</source_block_id>
     <sink_block_id>blocks_add_xx_1</sink_block_id>
     <source_key>0</source_key>
@@ -1210,28 +2509,28 @@
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>fir_filter_xxx_0</source_block_id>
-    <sink_block_id>blocks_delay_0_0</sink_block_id>
+    <source_block_id>blocks_add_xx_1</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_delay_0_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0_1</sink_block_id>
+    <source_block_id>blocks_add_xx_1</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0_1_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>fir_filter_xxx_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0_1</sink_block_id>
+    <source_block_id>blocks_delay_0</source_block_id>
+    <sink_block_id>blocks_add_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_vector_source_x_0_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+    <source_block_id>blocks_delay_0_0</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0_1</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
   <connection>
     <source_block_id>blocks_tags_strobe_0</source_block_id>
@@ -1240,28 +2539,34 @@
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_add_xx_1</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0_1_0</sink_block_id>
+    <source_block_id>blocks_throttle_0</source_block_id>
+    <sink_block_id>blocks_add_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_add_xx_1</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+    <source_block_id>blocks_throttle_0_0</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_vector_source_x_0_0_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id>
+    <source_block_id>blocks_vector_source_x_0</source_block_id>
+    <sink_block_id>blocks_throttle_0</sink_block_id>
+    <source_key>0</source_key>
+    <sink_key>0</sink_key>
+  </connection>
+  <connection>
+    <source_block_id>blocks_vector_source_x_0_0</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_throttle_0_0</source_block_id>
+    <source_block_id>blocks_vector_source_x_0_0_0</source_block_id>
     <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
     <source_block_id>blocks_vector_source_x_0_1</source_block_id>
@@ -1269,4 +2574,16 @@
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
+  <connection>
+    <source_block_id>fir_filter_xxx_0</source_block_id>
+    <sink_block_id>blocks_delay_0_0</sink_block_id>
+    <source_key>0</source_key>
+    <sink_key>0</sink_key>
+  </connection>
+  <connection>
+    <source_block_id>fir_filter_xxx_0</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0_1</sink_block_id>
+    <source_key>0</source_key>
+    <sink_key>1</sink_key>
+  </connection>
 </flow_graph>
-- 
2.11.0

