【发布时间】:2022-01-01 13:30:38
【问题描述】:
使用 GNU Radio Companion 3.9.4.0。
我的应用程序有一个“QT GUI Range”块。当小部件设置为“计数器+滑块”时,我收到错误
TypeError: setRange(self, int, int): argument 2 has unexpected type 'float'
这个条件的 Python 代码是,
self._rf_gain_win = RangeWidget(self._rf_gain_range, self.set_rf_gain, "RF Gain", "counter_slider", float, QtCore.Qt.Horizontal)
将小部件设置为“计数器”没有错误。现在同样的 Python 行是,
self._rf_gain_win = RangeWidget(self._rf_gain_range, self.set_rf_gain, "RF Gain", "counter", float, QtCore.Qt.Horizontal)
如何使用所需的滑块?
= = =
完整的错误信息是:
File "C:\Users\User1\Documents\Records\Software Defined Radio - SDR\GNU Radio\Flowgraphs\HackADay Tutorials\Video 02\Simple_AM_Rx_01_temp.py", line 100, in __init__
self._rf_gain_win = RangeWidget(self._rf_gain_range, self.set_rf_gain, "RF Gain", "counter_slider", float, QtCore.Qt.Horizontal)
File "C:\Users\User1\miniforge3\envs\gnuradio\lib\site-packages\gnuradio\qtgui\range.py", line 121, in __init__
self.d_widget = self.CounterSlider(self, self.range, self.notifyChanged, rangeType, orientation)
File "C:\Users\User1\miniforge3\envs\gnuradio\lib\site-packages\gnuradio\qtgui\range.py", line 262, in __init__
self.slider = RangeWidget.Slider(parent, ranges, self.sliderChanged, rangeType, orientation)
File "C:\Users\User1\miniforge3\envs\gnuradio\lib\site-packages\gnuradio\qtgui\range.py", line 161, in __init__
self.setRange(0, ranges.nsteps - 1)
TypeError: setRange(self, int, int): argument 2 has unexpected type 'float'
【问题讨论】:
-
错误消息应该告诉您对
setRange的调用在哪里。如果您将有问题的参数转换为int,会发生什么? -
如果我理解您的问题,Python 代码是从 GRC 框图生成的。 “QT GUI Range”块具有所需范围和步骤的条目。无论我输入整数 100 还是浮点数 100.0,都会再次出现错误。我不确定要投射什么以及在哪里投射(在 GUI 块中?)来尝试你的建议。
-
请提供完整的错误信息,应该是几行。
-
我编辑了上面的原始帖子,并在最后添加了完整的错误消息。
标签: python qt gnuradio gnuradio-companion