Auto limitation of lower limit of upper frequency filter
This commit is contained in:
@@ -4,22 +4,39 @@ from PyQt5.QtCore import pyqtSlot
|
|||||||
class DoubleTextButton(QPushButton):
|
class DoubleTextButton(QPushButton):
|
||||||
def __init__(self, parent = None):
|
def __init__(self, parent = None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
self.clicked.connect(self.manage_click)
|
self.clicked.connect(self.__manage_click)
|
||||||
|
|
||||||
def set_texts(self, text_a, text_b):
|
def set_texts(self, text_a, text_b):
|
||||||
self.text_a = text_a
|
self.__text_a = text_a
|
||||||
self.text_b = text_b
|
self.__text_b = text_b
|
||||||
|
|
||||||
def set_slave_filters(self, *filters):
|
def set_slave_filters(self, simple_ones,
|
||||||
self.filters = filters
|
radio_1 = None,
|
||||||
|
ruled_by_radio_1 = None,
|
||||||
|
radio_2 = None,
|
||||||
|
ruled_by_radio_2 = None):
|
||||||
|
self.__simple_ones = simple_ones
|
||||||
|
self.__ruled_by_radio_1 = ruled_by_radio_1
|
||||||
|
self.__radio_1 = radio_1
|
||||||
|
self.__ruled_by_radio_2 = ruled_by_radio_2
|
||||||
|
self.__radio_2 = radio_2
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def manage_click(self):
|
def __manage_click(self):
|
||||||
if self.isChecked():
|
if self.isChecked():
|
||||||
self.setText(self.text_b)
|
self.setText(self.__text_b)
|
||||||
enable = False
|
enable = False
|
||||||
else:
|
else:
|
||||||
self.setText(self.text_a)
|
self.setText(self.__text_a)
|
||||||
enable = True
|
enable = True
|
||||||
for f in self.filters:
|
for f in self.__simple_ones:
|
||||||
f.setEnabled(enable)
|
f.setEnabled(enable)
|
||||||
|
radio_btns = self.__radio_1, self.__radio_2
|
||||||
|
ruled_widgets = self.__ruled_by_radio_1, self.__ruled_by_radio_2
|
||||||
|
for radio_btn, ruled_by in zip(radio_btns, ruled_widgets):
|
||||||
|
if ruled_by:
|
||||||
|
for f in ruled_by:
|
||||||
|
if radio_btn.isChecked():
|
||||||
|
f.setEnabled(enable)
|
||||||
|
else:
|
||||||
|
f.setEnabled(False)
|
||||||
|
|||||||
82
main.py
82
main.py
@@ -51,6 +51,7 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.db = None
|
self.db = None
|
||||||
self.current_signal_name = ''
|
self.current_signal_name = ''
|
||||||
self.signal_names = []
|
self.signal_names = []
|
||||||
|
self.total_signals = 0
|
||||||
self.frequency_filters_btns = (
|
self.frequency_filters_btns = (
|
||||||
self.elf_filter_btn,
|
self.elf_filter_btn,
|
||||||
self.slf_filter_btn,
|
self.slf_filter_btn,
|
||||||
@@ -74,32 +75,56 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.lower_freq_spinbox,
|
self.lower_freq_spinbox,
|
||||||
self.upper_freq_filter_unit,
|
self.upper_freq_filter_unit,
|
||||||
self.upper_freq_spinbox)
|
self.upper_freq_spinbox)
|
||||||
)
|
)
|
||||||
self.lower_freq_filter_unit.currentTextChanged.connect(
|
self.lower_freq_filter_unit.currentTextChanged.connect(
|
||||||
partial(self.set_min_value_upper_limit,
|
partial(self.set_min_value_upper_limit,
|
||||||
self.lower_freq_filter_unit,
|
self.lower_freq_filter_unit,
|
||||||
self.lower_freq_spinbox,
|
self.lower_freq_spinbox,
|
||||||
self.upper_freq_filter_unit,
|
self.upper_freq_filter_unit,
|
||||||
self.upper_freq_spinbox)
|
self.upper_freq_spinbox)
|
||||||
)
|
)
|
||||||
self.upper_freq_filter_unit.currentTextChanged.connect(
|
self.upper_freq_filter_unit.currentTextChanged.connect(
|
||||||
partial(self.set_min_value_upper_limit,
|
partial(self.set_min_value_upper_limit,
|
||||||
self.lower_freq_filter_unit,
|
self.lower_freq_filter_unit,
|
||||||
self.lower_freq_spinbox,
|
self.lower_freq_spinbox,
|
||||||
self.upper_freq_filter_unit,
|
self.upper_freq_filter_unit,
|
||||||
self.upper_freq_spinbox)
|
self.upper_freq_spinbox)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.activate_low_freq_filter_btn.toggled.connect(
|
||||||
|
partial(self.activate_if_toggled,
|
||||||
|
self.activate_low_freq_filter_btn,
|
||||||
|
self.lower_freq_spinbox,
|
||||||
|
self.lower_freq_filter_unit,
|
||||||
|
self.lower_freq_confidence)
|
||||||
|
)
|
||||||
|
|
||||||
|
self.activate_up_freq_filter_btn.toggled.connect(
|
||||||
|
partial(self.activate_if_toggled,
|
||||||
|
self.activate_up_freq_filter_btn,
|
||||||
|
self.upper_freq_spinbox,
|
||||||
|
self.upper_freq_filter_unit,
|
||||||
|
self.upper_freq_confidence)
|
||||||
|
)
|
||||||
|
|
||||||
self.apply_remove_freq_filter_btn.set_texts("Apply", "Remove")
|
self.apply_remove_freq_filter_btn.set_texts("Apply", "Remove")
|
||||||
self.apply_remove_freq_filter_btn.set_slave_filters(
|
self.apply_remove_freq_filter_btn.set_slave_filters(
|
||||||
*self.frequency_filters_btns,
|
[
|
||||||
self.lower_freq_spinbox,
|
*self.frequency_filters_btns,
|
||||||
self.upper_freq_spinbox,
|
self.include_undef_freqs,
|
||||||
self.lower_freq_filter_unit,
|
],
|
||||||
self.upper_freq_filter_unit,
|
self.activate_low_freq_filter_btn,
|
||||||
self.lower_freq_confidence,
|
[
|
||||||
self.upper_freq_confidence,
|
self.lower_freq_spinbox,
|
||||||
self.include_undef_freqs,
|
self.lower_freq_filter_unit,
|
||||||
|
self.lower_freq_confidence,
|
||||||
|
],
|
||||||
|
self.activate_up_freq_filter_btn,
|
||||||
|
[
|
||||||
|
self.upper_freq_spinbox,
|
||||||
|
self.upper_freq_filter_unit,
|
||||||
|
self.upper_freq_confidence,
|
||||||
|
],
|
||||||
)
|
)
|
||||||
self.apply_remove_freq_filter_btn.clicked.connect(self.display_signals)
|
self.apply_remove_freq_filter_btn.clicked.connect(self.display_signals)
|
||||||
self.reset_frequency_filters_btn.clicked.connect(self.reset_frequency_filters)
|
self.reset_frequency_filters_btn.clicked.connect(self.reset_frequency_filters)
|
||||||
@@ -231,6 +256,7 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
box.show()
|
box.show()
|
||||||
else:
|
else:
|
||||||
self.signal_names = self.db.index
|
self.signal_names = self.db.index
|
||||||
|
self.total_signals = len(self.signal_names)
|
||||||
self.db.fillna("N/A", inplace = True)
|
self.db.fillna("N/A", inplace = True)
|
||||||
self.db["url_clicked"] = False
|
self.db["url_clicked"] = False
|
||||||
try:
|
try:
|
||||||
@@ -243,9 +269,9 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
"Possible data curruption.\n"
|
"Possible data curruption.\n"
|
||||||
"Go to Updates->Force Download.")
|
"Go to Updates->Force Download.")
|
||||||
box.show()
|
box.show()
|
||||||
self.setStatusTip("Database version: undefined.")
|
self.statusbar.showMessage("Database version: undefined.")
|
||||||
else:
|
else:
|
||||||
self.setStatusTip(f"Database version: {self.db_version}")
|
self.statusbar.showMessage(f"Database version: {self.db_version}")
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def set_min_value_upper_limit(self, lower_combo_box,
|
def set_min_value_upper_limit(self, lower_combo_box,
|
||||||
@@ -274,19 +300,31 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.lower_spin_box,
|
self.lower_spin_box,
|
||||||
self.upper_combo_box,
|
self.upper_combo_box,
|
||||||
self.upper_spin_box
|
self.upper_spin_box
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
upper_spin_box.setValue(upper_spin_box.value() // (1000**counter))
|
upper_spin_box.setValue(upper_spin_box.value() // (1000**counter))
|
||||||
if upper_spin_box.minimum() != inf_limit:
|
if upper_spin_box.minimum() != inf_limit:
|
||||||
upper_spin_box.setMinimum(inf_limit)
|
upper_spin_box.setMinimum(inf_limit)
|
||||||
|
|
||||||
|
@pyqtSlot()
|
||||||
|
def activate_if_toggled(self, radio_btn, *widgets):
|
||||||
|
toggled = True if radio_btn.isChecked() else False
|
||||||
|
for w in widgets[:-1]: # Neglect the bool coming from the emitted signal.
|
||||||
|
w.setEnabled(toggled)
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def display_signals(self):
|
def display_signals(self):
|
||||||
self.result_list.clear()
|
self.result_list.clear()
|
||||||
text = self.search_bar.text()
|
text = self.search_bar.text()
|
||||||
|
available_signals = 0
|
||||||
for signal in self.signal_names:
|
for signal in self.signal_names:
|
||||||
if text.lower() in signal.lower() and self.frequency_filters_ok(signal):
|
if text.lower() in signal.lower() and self.frequency_filters_ok(signal):
|
||||||
self.result_list.addItem(signal)
|
self.result_list.addItem(signal)
|
||||||
|
available_signals += 1
|
||||||
|
self.upadte_status_tip(available_signals)
|
||||||
|
|
||||||
|
def upadte_status_tip(self, available_signals):
|
||||||
|
self.statusbar.showMessage(f"Database version: {self.db_version}. {available_signals} out of {self.total_signals} signals displayed.")
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def reset_frequency_filters(self):
|
def reset_frequency_filters(self):
|
||||||
@@ -298,12 +336,18 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
f.setChecked(False)
|
f.setChecked(False)
|
||||||
if self.include_undef_freqs.isChecked():
|
if self.include_undef_freqs.isChecked():
|
||||||
self.include_undef_freqs.setChecked(False)
|
self.include_undef_freqs.setChecked(False)
|
||||||
|
if self.activate_low_freq_filter_btn.isChecked():
|
||||||
|
self.activate_low_freq_filter_btn.setChecked(False)
|
||||||
|
self.activate_low_freq_filter_btn.clicked.emit()
|
||||||
|
if self.activate_up_freq_filter_btn.isChecked():
|
||||||
|
self.activate_up_freq_filter_btn.setChecked(False)
|
||||||
|
self.activate_up_freq_filter_btn.clicked.emit()
|
||||||
self.lower_freq_spinbox.setValue(0)
|
self.lower_freq_spinbox.setValue(0)
|
||||||
self.upper_freq_spinbox.setValue(0)
|
self.upper_freq_spinbox.setValue(0)
|
||||||
self.lower_freq_filter_unit.setCurrentText("MHz")
|
self.lower_freq_filter_unit.setCurrentText("MHz")
|
||||||
self.upper_freq_filter_unit.setCurrentText("MHz")
|
self.upper_freq_filter_unit.setCurrentText("MHz")
|
||||||
self.lower_freq_confidence.setValue(5)
|
self.lower_freq_confidence.setValue(0)
|
||||||
self.upper_freq_confidence.setValue(5)
|
self.upper_freq_confidence.setValue(0)
|
||||||
|
|
||||||
def frequency_filters_ok(self, signal_name):
|
def frequency_filters_ok(self, signal_name):
|
||||||
if not self.apply_remove_freq_filter_btn.isChecked():
|
if not self.apply_remove_freq_filter_btn.isChecked():
|
||||||
@@ -329,16 +373,16 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
upper_freq_filter = self.upper_freq_spinbox.value()
|
upper_freq_filter = self.upper_freq_spinbox.value()
|
||||||
lower_limit_ok = True
|
lower_limit_ok = True
|
||||||
upper_limit_ok = True
|
upper_limit_ok = True
|
||||||
if lower_freq_filter > 0:
|
if self.activate_low_freq_filter_btn.isChecked():
|
||||||
lower_tol = self.lower_freq_confidence.value()
|
lower_tol = self.lower_freq_confidence.value()
|
||||||
lower_limit = lower_freq_filter - lower_tol / 100 * lower_freq_filter
|
lower_limit = lower_freq_filter - lower_tol / 100 * lower_freq_filter
|
||||||
lower_units = self.lower_freq_filter_unit.currentText()
|
lower_units = self.lower_freq_filter_unit.currentText()
|
||||||
lower_limit *= self.conversion_factors[lower_units]
|
lower_limit *= self.conversion_factors[lower_units]
|
||||||
if not signal_freqs[1] >= lower_limit:
|
if not signal_freqs[1] >= lower_limit:
|
||||||
lower_limit_ok = False
|
lower_limit_ok = False
|
||||||
if upper_freq_filter > 0:
|
if self.activate_up_freq_filter_btn.isChecked():
|
||||||
upper_tol = self.upper_freq_confidence.value()
|
upper_tol = self.upper_freq_confidence.value()
|
||||||
upper_limit = upper_freq_filter + lower_tol / 100 * lower_freq_filter
|
upper_limit = upper_freq_filter + upper_tol / 100 * lower_freq_filter
|
||||||
upper_units = self.upper_freq_filter_unit.currentText()
|
upper_units = self.upper_freq_filter_unit.currentText()
|
||||||
upper_limit *= self.conversion_factors[upper_units]
|
upper_limit *= self.conversion_factors[upper_units]
|
||||||
if not signal_freqs[0] < upper_limit:
|
if not signal_freqs[0] < upper_limit:
|
||||||
|
|||||||
572
main_window.ui
572
main_window.ui
@@ -130,6 +130,10 @@ QTextBrowser {
|
|||||||
background-color: #464646;
|
background-color: #464646;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
border: 0px;
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
QRadioButton {
|
||||||
|
color: #ffffff;
|
||||||
}</string>
|
}</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="centralwidget">
|
<widget class="QWidget" name="centralwidget">
|
||||||
@@ -1979,23 +1983,6 @@ QPushButton:checked {
|
|||||||
<string notr="true"/>
|
<string notr="true"/>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_5">
|
<layout class="QGridLayout" name="gridLayout_5">
|
||||||
<item row="0" column="0" colspan="3">
|
|
||||||
<widget class="QPushButton" name="include_undef_freqs">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>10</pointsize>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Include undefined frequencies</string>
|
|
||||||
</property>
|
|
||||||
<property name="checkable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QPushButton" name="elf_filter_btn">
|
<widget class="QPushButton" name="elf_filter_btn">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
@@ -2237,6 +2224,23 @@ QPushButton:checked {
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="0" column="0" colspan="3">
|
||||||
|
<widget class="QPushButton" name="include_undef_freqs">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Include undefined frequencies</string>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -2258,257 +2262,10 @@ QPushButton:checked {
|
|||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_6">
|
<layout class="QGridLayout" name="gridLayout_6">
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="label_10">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>12</pointsize>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Upper frequency</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QSpinBox" name="lower_freq_spinbox">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>100</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>100</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>12</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>1000000000</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="2">
|
|
||||||
<widget class="QComboBox" name="upper_freq_filter_unit">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>60</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>16777215</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>12</pointsize>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="currentText">
|
|
||||||
<string>MHz</string>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>MHz</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Hz</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>kHz</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>GHz</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="4">
|
|
||||||
<widget class="QSpinBox" name="upper_freq_confidence">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>60</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>50</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>12</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="frame">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
<property name="buttonSymbols">
|
|
||||||
<enum>QAbstractSpinBox::UpDownArrows</enum>
|
|
||||||
</property>
|
|
||||||
<property name="specialValueText">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>100</number>
|
|
||||||
</property>
|
|
||||||
<property name="value">
|
|
||||||
<number>5</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>12</pointsize>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Lower frequency</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="3">
|
|
||||||
<widget class="QLabel" name="label_12">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>12</pointsize>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string> Confidence %</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QSpinBox" name="upper_freq_spinbox">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>100</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>100</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>12</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>1000000000</number>
|
|
||||||
</property>
|
|
||||||
<property name="value">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="2">
|
<item row="1" column="2">
|
||||||
<widget class="QComboBox" name="lower_freq_filter_unit">
|
<widget class="QComboBox" name="lower_freq_filter_unit">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
@@ -2569,33 +2326,10 @@ QPushButton:checked {
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="3">
|
|
||||||
<widget class="QLabel" name="label_13">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>12</pointsize>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string> Confidence %</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="4">
|
<item row="1" column="4">
|
||||||
<widget class="QSpinBox" name="lower_freq_confidence">
|
<widget class="QSpinBox" name="lower_freq_confidence">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
@@ -2636,7 +2370,265 @@ QPushButton:checked {
|
|||||||
<number>100</number>
|
<number>100</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="value">
|
<property name="value">
|
||||||
<number>5</number>
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QSpinBox" name="lower_freq_spinbox">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>1000000000</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QSpinBox" name="upper_freq_spinbox">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>1000000000</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="2">
|
||||||
|
<widget class="QComboBox" name="upper_freq_filter_unit">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>60</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="currentText">
|
||||||
|
<string>MHz</string>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>MHz</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Hz</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>kHz</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>GHz</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="4">
|
||||||
|
<widget class="QSpinBox" name="upper_freq_confidence">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>60</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>50</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="frame">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="buttonSymbols">
|
||||||
|
<enum>QAbstractSpinBox::UpDownArrows</enum>
|
||||||
|
</property>
|
||||||
|
<property name="specialValueText">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="3">
|
||||||
|
<widget class="QLabel" name="label_12">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string> Confidence %</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="3">
|
||||||
|
<widget class="QLabel" name="label_13">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string> Confidence %</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QRadioButton" name="activate_low_freq_filter_btn">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Lower frequency</string>
|
||||||
|
</property>
|
||||||
|
<property name="autoExclusive">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QRadioButton" name="activate_up_freq_filter_btn">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Upper frequency</string>
|
||||||
|
</property>
|
||||||
|
<property name="autoExclusive">
|
||||||
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|||||||
Reference in New Issue
Block a user