[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 07/08: qtgui: fixed examples for Qt5 compat
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 07/08: qtgui: fixed examples for Qt5 compatibility. |
Date: |
Sat, 28 Nov 2015 21:28:41 +0000 (UTC) |
This is an automated email from the git hooks/post-receive script.
jcorgan pushed a commit to branch next-qt5
in repository gnuradio.
commit 7bc999f212d5f74d71bfa39218272b9d19cf1555
Author: Tom Rondeau <address@hidden>
Date: Tue Oct 13 18:47:32 2015 -0400
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 3a43bf9..0bb6c20 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 1bf61d9..89ca7b2 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 5bd582d..77a7478 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 c53feb9..954a078 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 668b54d..d7d389b 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 a960275..81f7b9d 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 0162bb6..b595c8f 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 b733a5a..3689ebf 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 4cad9de..7a94400 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 c526152..0f9de94 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 8ec62fc..3f7119f 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 f9680c2..71c72af 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 4c64545..635b1e4 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>
- [Commit-gnuradio] [gnuradio] branch next-qt5 created (now 480420d), git, 2015/11/28
- [Commit-gnuradio] [gnuradio] 01/08: CMake: Update required minimum version to 2.8.12, git, 2015/11/28
- [Commit-gnuradio] [gnuradio] 04/08: grc: Generate Python scripts that use PyQt5, git, 2015/11/28
- [Commit-gnuradio] [gnuradio] 06/08: gr-qtgui: Add a workaround for an upstream bug of 'uic', git, 2015/11/28
- [Commit-gnuradio] [gnuradio] 08/08: Merge remote-tracking branch 'tom/qt5_next' into next-qt5, git, 2015/11/28
- [Commit-gnuradio] [gnuradio] 02/08: CMake: FindQwt: Find the Qt5 version of QWT instead of the Qt4 version, git, 2015/11/28
- [Commit-gnuradio] [gnuradio] 05/08: CMake: Remove obsolete GrSetupQt4 module, git, 2015/11/28
- [Commit-gnuradio] [gnuradio] 03/08: gr-qtgui: update for Qt5, git, 2015/11/28
- [Commit-gnuradio] [gnuradio] 07/08: qtgui: fixed examples for Qt5 compatibility.,
git <=