Fabian Peter Hammerle 7 місяців тому
батько
коміт
888bfd12d3
2 змінених файлів з 11 додано та 67 видалено
  1. 1 1
      fm_radio.grc
  2. 10 66
      fm_radio.py

+ 1 - 1
fm_radio.grc

@@ -9,7 +9,7 @@ options:
     description: ''
     gen_cmake: 'On'
     gen_linking: dynamic
-    generate_options: qt_gui
+    generate_options: no_gui
     hier_block_src_path: '.:'
     id: fm_radio
     max_nouts: '0'

+ 10 - 66
fm_radio.py

@@ -8,18 +8,6 @@
 # Title: FM Radio Receiver
 # GNU Radio version: 3.10.5.1
 
-from packaging.version import Version as StrictVersion
-
-if __name__ == '__main__':
-    import ctypes
-    import sys
-    if sys.platform.startswith('linux'):
-        try:
-            x11 = ctypes.cdll.LoadLibrary('libX11.so')
-            x11.XInitThreads()
-        except:
-            print("Warning: failed to XInitThreads()")
-
 from gnuradio import analog
 from gnuradio import audio
 from gnuradio import filter
@@ -28,7 +16,6 @@ from gnuradio import gr
 from gnuradio.fft import window
 import sys
 import signal
-from PyQt5 import Qt
 from argparse import ArgumentParser
 from gnuradio.eng_arg import eng_float, intx
 from gnuradio import eng_notation
@@ -37,40 +24,11 @@ import time
 
 
 
-from gnuradio import qtgui
 
-class fm_radio(gr.top_block, Qt.QWidget):
+class fm_radio(gr.top_block):
 
     def __init__(self):
         gr.top_block.__init__(self, "FM Radio Receiver", catch_exceptions=True)
-        Qt.QWidget.__init__(self)
-        self.setWindowTitle("FM Radio Receiver")
-        qtgui.util.check_set_qss()
-        try:
-            self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc'))
-        except:
-            pass
-        self.top_scroll_layout = Qt.QVBoxLayout()
-        self.setLayout(self.top_scroll_layout)
-        self.top_scroll = Qt.QScrollArea()
-        self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame)
-        self.top_scroll_layout.addWidget(self.top_scroll)
-        self.top_scroll.setWidgetResizable(True)
-        self.top_widget = Qt.QWidget()
-        self.top_scroll.setWidget(self.top_widget)
-        self.top_layout = Qt.QVBoxLayout(self.top_widget)
-        self.top_grid_layout = Qt.QGridLayout()
-        self.top_layout.addLayout(self.top_grid_layout)
-
-        self.settings = Qt.QSettings("GNU Radio", "fm_radio")
-
-        try:
-            if StrictVersion(Qt.qVersion()) < StrictVersion("5.0.0"):
-                self.restoreGeometry(self.settings.value("geometry").toByteArray())
-            else:
-                self.restoreGeometry(self.settings.value("geometry"))
-        except:
-            pass
 
         ##################################################
         # Variables
@@ -128,14 +86,6 @@ class fm_radio(gr.top_block, Qt.QWidget):
         self.connect((self.rtlsdr_source_0, 0), (self.low_pass_filter_0, 0))
 
 
-    def closeEvent(self, event):
-        self.settings = Qt.QSettings("GNU Radio", "fm_radio")
-        self.settings.setValue("geometry", self.saveGeometry())
-        self.stop()
-        self.wait()
-
-        event.accept()
-
     def get_samp_rate(self):
         return self.samp_rate
 
@@ -160,32 +110,26 @@ class fm_radio(gr.top_block, Qt.QWidget):
 
 
 def main(top_block_cls=fm_radio, options=None):
-
-    if StrictVersion("4.5.0") <= StrictVersion(Qt.qVersion()) < StrictVersion("5.0.0"):
-        style = gr.prefs().get_string('qtgui', 'style', 'raster')
-        Qt.QApplication.setGraphicsSystem(style)
-    qapp = Qt.QApplication(sys.argv)
-
     tb = top_block_cls()
 
-    tb.start()
-
-    tb.show()
-
     def sig_handler(sig=None, frame=None):
         tb.stop()
         tb.wait()
 
-        Qt.QApplication.quit()
+        sys.exit(0)
 
     signal.signal(signal.SIGINT, sig_handler)
     signal.signal(signal.SIGTERM, sig_handler)
 
-    timer = Qt.QTimer()
-    timer.start(500)
-    timer.timeout.connect(lambda: None)
+    tb.start()
+
+    try:
+        input('Press Enter to quit: ')
+    except EOFError:
+        pass
+    tb.stop()
+    tb.wait()
 
-    qapp.exec_()
 
 if __name__ == '__main__':
     main()