Automatic lower limit for upper frequency filter
This commit is contained in:
13
filters.py
13
filters.py
@@ -1,13 +0,0 @@
|
|||||||
from collections import namedtuple
|
|
||||||
|
|
||||||
class Filters(object):
|
|
||||||
def __init__(self, *all_filters):
|
|
||||||
self.filter_widgets = all_filters
|
|
||||||
|
|
||||||
def activate(self):
|
|
||||||
for f in self.filter_widgets:
|
|
||||||
f.setEnabled(True)
|
|
||||||
|
|
||||||
def deactivate(self):
|
|
||||||
for f in self.filter_widgets:
|
|
||||||
f.setEnabled(False)
|
|
||||||
129
main.py
129
main.py
@@ -65,9 +65,6 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.shf_filter_btn,
|
self.shf_filter_btn,
|
||||||
self.ehf_filter_btn,
|
self.ehf_filter_btn,
|
||||||
)
|
)
|
||||||
self.lower_freq_confidence.valueChanged.connect(
|
|
||||||
lambda value: self.upper_freq_confidence.setValue(value)
|
|
||||||
)
|
|
||||||
|
|
||||||
self.lower_freq_spinbox.valueChanged.connect(
|
self.lower_freq_spinbox.valueChanged.connect(
|
||||||
partial(self.set_min_value_upper_limit,
|
partial(self.set_min_value_upper_limit,
|
||||||
@@ -76,6 +73,17 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.upper_freq_filter_unit,
|
self.upper_freq_filter_unit,
|
||||||
self.upper_freq_spinbox)
|
self.upper_freq_spinbox)
|
||||||
)
|
)
|
||||||
|
self.lower_freq_spinbox.valueChanged.connect(self.set_band_filter_label)
|
||||||
|
|
||||||
|
self.upper_freq_spinbox.valueChanged.connect(
|
||||||
|
partial(self.set_min_value_upper_limit,
|
||||||
|
self.lower_freq_filter_unit,
|
||||||
|
self.lower_freq_spinbox,
|
||||||
|
self.upper_freq_filter_unit,
|
||||||
|
self.upper_freq_spinbox)
|
||||||
|
)
|
||||||
|
self.upper_freq_spinbox.valueChanged.connect(self.set_band_filter_label)
|
||||||
|
|
||||||
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,
|
||||||
@@ -83,6 +91,8 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
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.set_band_filter_label)
|
||||||
|
|
||||||
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,
|
||||||
@@ -90,6 +100,7 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
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.set_band_filter_label)
|
||||||
|
|
||||||
self.activate_low_freq_filter_btn.toggled.connect(
|
self.activate_low_freq_filter_btn.toggled.connect(
|
||||||
partial(self.activate_if_toggled,
|
partial(self.activate_if_toggled,
|
||||||
@@ -98,6 +109,7 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.lower_freq_filter_unit,
|
self.lower_freq_filter_unit,
|
||||||
self.lower_freq_confidence)
|
self.lower_freq_confidence)
|
||||||
)
|
)
|
||||||
|
self.activate_low_freq_filter_btn.clicked.connect(self.set_band_filter_label)
|
||||||
|
|
||||||
self.activate_up_freq_filter_btn.toggled.connect(
|
self.activate_up_freq_filter_btn.toggled.connect(
|
||||||
partial(self.activate_if_toggled,
|
partial(self.activate_if_toggled,
|
||||||
@@ -106,12 +118,18 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.upper_freq_filter_unit,
|
self.upper_freq_filter_unit,
|
||||||
self.upper_freq_confidence)
|
self.upper_freq_confidence)
|
||||||
)
|
)
|
||||||
|
self.activate_up_freq_filter_btn.clicked.connect(self.set_band_filter_label)
|
||||||
|
|
||||||
|
self.lower_freq_confidence.valueChanged.connect(self.set_band_filter_label)
|
||||||
|
self.upper_freq_confidence.valueChanged.connect(self.set_band_filter_label)
|
||||||
|
|
||||||
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.frequency_filters_btns,
|
||||||
self.include_undef_freqs,
|
self.include_undef_freqs,
|
||||||
|
self.activate_low_freq_filter_btn,
|
||||||
|
self.activate_up_freq_filter_btn,
|
||||||
],
|
],
|
||||||
self.activate_low_freq_filter_btn,
|
self.activate_low_freq_filter_btn,
|
||||||
[
|
[
|
||||||
@@ -129,6 +147,8 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
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)
|
||||||
|
|
||||||
|
self.reset_filters_btn.clicked.connect(self.reset_all_filters)
|
||||||
|
|
||||||
UrlColors = namedtuple("UrlColors", ["inactive", "active", "clicked"])
|
UrlColors = namedtuple("UrlColors", ["inactive", "active", "clicked"])
|
||||||
self.url_button.colors = UrlColors("#9f9f9f", "#4c75ff", "#942ccc")
|
self.url_button.colors = UrlColors("#9f9f9f", "#4c75ff", "#942ccc")
|
||||||
self.category_labels = [self.cat_mil,
|
self.category_labels = [self.cat_mil,
|
||||||
@@ -245,8 +265,7 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
'inf_band': str,
|
'inf_band': str,
|
||||||
'sup_band': str,
|
'sup_band': str,
|
||||||
'category_code': str,},
|
'category_code': str,},
|
||||||
names = names,
|
names = names,)
|
||||||
)
|
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
self.search_bar.setDisabled(True)
|
self.search_bar.setDisabled(True)
|
||||||
box = QMessageBox(self)
|
box = QMessageBox(self)
|
||||||
@@ -271,40 +290,77 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
box.show()
|
box.show()
|
||||||
self.statusbar.showMessage("Database version: undefined.")
|
self.statusbar.showMessage("Database version: undefined.")
|
||||||
else:
|
else:
|
||||||
self.statusbar.showMessage(f"Database version: {self.db_version}")
|
self.update_status_tip(self.total_signals)
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def set_min_value_upper_limit(self, lower_combo_box,
|
def set_min_value_upper_limit(self, lower_combo_box,
|
||||||
lower_spin_box,
|
lower_spin_box,
|
||||||
upper_combo_box,
|
upper_combo_box,
|
||||||
upper_spin_box):
|
upper_spin_box):
|
||||||
|
unit_conversion = {'Hz' : ['kHz', 'MHz', 'GHz'],
|
||||||
|
'kHz': ['MHz', 'GHz'],
|
||||||
|
'MHz': ['GHz']
|
||||||
|
}
|
||||||
lower_units = lower_combo_box.currentText()
|
lower_units = lower_combo_box.currentText()
|
||||||
upper_units = upper_combo_box.currentText()
|
upper_units = upper_combo_box.currentText()
|
||||||
lower_value = lower_spin_box.value()
|
lower_value = lower_spin_box.value()
|
||||||
|
upper_value = upper_spin_box.value()
|
||||||
inf_limit = (lower_value * self.conversion_factors[lower_units]) \
|
inf_limit = (lower_value * self.conversion_factors[lower_units]) \
|
||||||
// self.conversion_factors[upper_units]
|
// self.conversion_factors[upper_units]
|
||||||
counter = 0
|
counter = 0
|
||||||
while inf_limit > upper_spin_box.maximum():
|
while inf_limit > upper_spin_box.maximum():
|
||||||
counter += 1
|
counter += 1
|
||||||
inf_limit //= 1000
|
inf_limit //= 1000
|
||||||
|
if upper_spin_box.minimum() != inf_limit:
|
||||||
|
upper_spin_box.setMinimum(inf_limit)
|
||||||
if counter > 0:
|
if counter > 0:
|
||||||
if counter == 1 and upper_units == 'kHz':
|
new_unit = unit_conversion[upper_units][counter - 1]
|
||||||
new_unit = 'MHz'
|
|
||||||
else:
|
|
||||||
new_unit = 'GHz'
|
|
||||||
upper_combo_box.disconnect()
|
upper_combo_box.disconnect()
|
||||||
upper_combo_box.setCurrentText(new_unit)
|
upper_combo_box.setCurrentText(new_unit)
|
||||||
upper_combo_box.currentTextChanged.connect(
|
upper_combo_box.currentTextChanged.connect(
|
||||||
partial(self.set_min_value_upper_limit,
|
partial(self.set_min_value_upper_limit,
|
||||||
self.lower_combo_box,
|
lower_combo_box,
|
||||||
self.lower_spin_box,
|
lower_spin_box,
|
||||||
self.upper_combo_box,
|
upper_combo_box,
|
||||||
self.upper_spin_box
|
upper_spin_box)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
upper_spin_box.setValue(upper_spin_box.value() // (1000**counter))
|
@pyqtSlot()
|
||||||
if upper_spin_box.minimum() != inf_limit:
|
def set_band_filter_label(self):
|
||||||
upper_spin_box.setMinimum(inf_limit)
|
activate_low = False
|
||||||
|
activate_high = False
|
||||||
|
color = self.inactive_color
|
||||||
|
title = ''
|
||||||
|
to_display = ''
|
||||||
|
if self.activate_low_freq_filter_btn.isChecked():
|
||||||
|
to_display += str(self.lower_freq_spinbox.value()) + ' ' + self.lower_freq_filter_unit.currentText()
|
||||||
|
activate_low = True
|
||||||
|
color = self.active_color
|
||||||
|
if self.lower_freq_confidence.value() != 0:
|
||||||
|
to_display += ' - ' + str(self.lower_freq_confidence.value()) + ' %'
|
||||||
|
else:
|
||||||
|
to_display += 'DC'
|
||||||
|
to_display += ' ÷ '
|
||||||
|
if self.activate_up_freq_filter_btn.isChecked():
|
||||||
|
to_display += str(self.upper_freq_spinbox.value()) + ' ' + self.upper_freq_filter_unit.currentText()
|
||||||
|
activate_high = True
|
||||||
|
color = self.active_color
|
||||||
|
if self.upper_freq_confidence.value() != 0:
|
||||||
|
to_display += ' + ' + str(self.upper_freq_confidence.value()) + ' %'
|
||||||
|
else:
|
||||||
|
to_display += 'INF'
|
||||||
|
if activate_low and activate_high:
|
||||||
|
title = 'Band-pass\n\n'
|
||||||
|
elif activate_low and not activate_high:
|
||||||
|
title = 'Low-pass\n\n'
|
||||||
|
elif not activate_low and activate_high:
|
||||||
|
title = 'High-pass\n\n'
|
||||||
|
else:
|
||||||
|
title = "Frequency range:\n\n"
|
||||||
|
to_display = "Inactive"
|
||||||
|
to_display = title + to_display
|
||||||
|
self.freq_range_lbl.setText(to_display)
|
||||||
|
self.freq_range_lbl.setStyleSheet(f'color: {color};')
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def activate_if_toggled(self, radio_btn, *widgets):
|
def activate_if_toggled(self, radio_btn, *widgets):
|
||||||
@@ -321,10 +377,10 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
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
|
available_signals += 1
|
||||||
self.upadte_status_tip(available_signals)
|
self.update_status_tip(available_signals)
|
||||||
|
|
||||||
def upadte_status_tip(self, available_signals):
|
def update_status_tip(self, available_signals):
|
||||||
self.statusbar.showMessage(f"Database version: {self.db_version}. {available_signals} out of {self.total_signals} signals displayed.")
|
self.statusbar.showMessage(f"{available_signals} out of {self.total_signals} signals displayed.")
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def reset_frequency_filters(self):
|
def reset_frequency_filters(self):
|
||||||
@@ -369,22 +425,22 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
any_checked = True
|
any_checked = True
|
||||||
if signal_freqs[0] < band_limits.upper and signal_freqs[1] >= band_limits.lower:
|
if signal_freqs[0] < band_limits.upper and signal_freqs[1] >= band_limits.lower:
|
||||||
band_filter_ok = True
|
band_filter_ok = True
|
||||||
lower_freq_filter = self.lower_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 self.activate_low_freq_filter_btn.isChecked():
|
if self.activate_low_freq_filter_btn.isChecked():
|
||||||
lower_tol = self.lower_freq_confidence.value()
|
lower_freq_filter = self.lower_freq_spinbox.value()
|
||||||
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_freq_filter *= self.conversion_factors[lower_units]
|
||||||
|
lower_tol = self.lower_freq_confidence.value()
|
||||||
|
lower_limit = lower_freq_filter - (lower_tol * lower_freq_filter) // 100
|
||||||
if not signal_freqs[1] >= lower_limit:
|
if not signal_freqs[1] >= lower_limit:
|
||||||
lower_limit_ok = False
|
lower_limit_ok = False
|
||||||
if self.activate_up_freq_filter_btn.isChecked():
|
if self.activate_up_freq_filter_btn.isChecked():
|
||||||
upper_tol = self.upper_freq_confidence.value()
|
upper_freq_filter = self.upper_freq_spinbox.value()
|
||||||
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_freq_filter *= self.conversion_factors[upper_units]
|
||||||
|
upper_tol = self.upper_freq_confidence.value()
|
||||||
|
upper_limit = upper_freq_filter + (upper_tol * upper_freq_filter) // 100
|
||||||
if not signal_freqs[0] < upper_limit:
|
if not signal_freqs[0] < upper_limit:
|
||||||
upper_limit_ok = False
|
upper_limit_ok = False
|
||||||
if any_checked:
|
if any_checked:
|
||||||
@@ -397,13 +453,6 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.display_spectrogram()
|
self.display_spectrogram()
|
||||||
if item:
|
if item:
|
||||||
self.current_signal_name = item.text()
|
self.current_signal_name = item.text()
|
||||||
words = self.current_signal_name.split(' ')
|
|
||||||
if len(words) > 3:
|
|
||||||
words_per_row = len(words) // 2
|
|
||||||
words = ' '.join(words[:words_per_row]) \
|
|
||||||
+ "\n" + ' '.join(words[words_per_row:])
|
|
||||||
else:
|
|
||||||
words = self.current_signal_name
|
|
||||||
self.name_lab.setText(self.current_signal_name)
|
self.name_lab.setText(self.current_signal_name)
|
||||||
self.name_lab.setAlignment(Qt.AlignHCenter)
|
self.name_lab.setAlignment(Qt.AlignHCenter)
|
||||||
current_signal = self.db.loc[self.current_signal_name]
|
current_signal = self.db.loc[self.current_signal_name]
|
||||||
@@ -479,6 +528,10 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
pre_upper = upper
|
pre_upper = upper
|
||||||
lower = int(lower) / lower_factor
|
lower = int(lower) / lower_factor
|
||||||
upper = int(upper) / upper_factor
|
upper = int(upper) / upper_factor
|
||||||
|
if lower.is_integer():
|
||||||
|
lower = int(lower)
|
||||||
|
if upper.is_integer():
|
||||||
|
upper = int(upper)
|
||||||
if pre_lower != pre_upper:
|
if pre_lower != pre_upper:
|
||||||
return f"{lower:,} {units[lower_factor]} - {upper:,} {units[upper_factor]}"
|
return f"{lower:,} {units[lower_factor]} - {upper:,} {units[upper_factor]}"
|
||||||
else:
|
else:
|
||||||
@@ -535,6 +588,10 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
for band_label in self.band_labels:
|
for band_label in self.band_labels:
|
||||||
self.activate_band_category(band_label, False)
|
self.activate_band_category(band_label, False)
|
||||||
|
|
||||||
|
@pyqtSlot()
|
||||||
|
def reset_all_filters(self):
|
||||||
|
self.reset_frequency_filters_btn.clicked.emit()
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def go_to_web_page_signal(self):
|
def go_to_web_page_signal(self):
|
||||||
if self.current_signal_name:
|
if self.current_signal_name:
|
||||||
|
|||||||
269
main_window.ui
269
main_window.ui
@@ -70,7 +70,7 @@ QScrollBar::handle:vertical, QScrollBar::handle:horizontal{
|
|||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border-color: none;
|
border-color: none;
|
||||||
border-width: 1px;
|
border-width: 1px;
|
||||||
background-color: #959595;
|
background-color: #999999;
|
||||||
}
|
}
|
||||||
|
|
||||||
QScrollBar::add-line:vertical, QScrollBar::add-line:horizontal{
|
QScrollBar::add-line:vertical, QScrollBar::add-line:horizontal{
|
||||||
@@ -1958,7 +1958,8 @@ QPushButton:!enabled {
|
|||||||
|
|
||||||
QPushButton:checked {
|
QPushButton:checked {
|
||||||
color: #39eaff;
|
color: #39eaff;
|
||||||
}</string>
|
}
|
||||||
|
</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
@@ -2228,7 +2229,7 @@ QPushButton:checked {
|
|||||||
<widget class="QPushButton" name="include_undef_freqs">
|
<widget class="QPushButton" name="include_undef_freqs">
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<pointsize>10</pointsize>
|
<pointsize>12</pointsize>
|
||||||
<weight>75</weight>
|
<weight>75</weight>
|
||||||
<bold>true</bold>
|
<bold>true</bold>
|
||||||
</font>
|
</font>
|
||||||
@@ -2254,15 +2255,85 @@ QPushButton:checked {
|
|||||||
</property>
|
</property>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_24">
|
<layout class="QHBoxLayout" name="horizontalLayout_24">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QWidget" name="widget_9" native="true">
|
<widget class="QWidget" name="freq_filter_container" native="true">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">QWidget#freq_filter_container {
|
||||||
|
border: 1px solid gray;
|
||||||
|
background-color: rgb(52,52,52);
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
QRadioButton, QLabel {
|
||||||
|
background-color: rgb(52,52,52);
|
||||||
|
}</string>
|
||||||
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_6">
|
<layout class="QGridLayout" name="gridLayout_6">
|
||||||
<item row="1" column="2">
|
<item row="0" 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="0" 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="styleSheet">
|
||||||
|
<string notr="true">background-color: #464646;</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100000000</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" 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>false</bool>
|
<bool>false</bool>
|
||||||
@@ -2292,6 +2363,9 @@ QPushButton:checked {
|
|||||||
<bold>true</bold>
|
<bold>true</bold>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">background-color: #464646;</string>
|
||||||
|
</property>
|
||||||
<property name="currentText">
|
<property name="currentText">
|
||||||
<string>MHz</string>
|
<string>MHz</string>
|
||||||
</property>
|
</property>
|
||||||
@@ -2326,7 +2400,30 @@ QPushButton:checked {
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="4">
|
<item row="0" 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="0" column="4">
|
||||||
<widget class="QSpinBox" name="lower_freq_confidence">
|
<widget class="QSpinBox" name="lower_freq_confidence">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@@ -2354,6 +2451,9 @@ QPushButton:checked {
|
|||||||
<pointsize>12</pointsize>
|
<pointsize>12</pointsize>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">background-color: #464646;</string>
|
||||||
|
</property>
|
||||||
<property name="frame">
|
<property name="frame">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
@@ -2374,43 +2474,24 @@ QPushButton:checked {
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="1">
|
<item row="1" column="0">
|
||||||
<widget class="QSpinBox" name="lower_freq_spinbox">
|
<widget class="QRadioButton" name="activate_up_freq_filter_btn">
|
||||||
<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">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<pointsize>12</pointsize>
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="text">
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
<string>Upper frequency</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximum">
|
<property name="autoExclusive">
|
||||||
<number>1000000000</number>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QSpinBox" name="upper_freq_spinbox">
|
<widget class="QSpinBox" name="upper_freq_spinbox">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@@ -2438,18 +2519,24 @@ QPushButton:checked {
|
|||||||
<pointsize>12</pointsize>
|
<pointsize>12</pointsize>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">background-color: #464646;</string>
|
||||||
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<number>1000000000</number>
|
<number>100000000</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="value">
|
<property name="value">
|
||||||
<number>0</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="2">
|
<item row="1" column="2">
|
||||||
<widget class="QComboBox" name="upper_freq_filter_unit">
|
<widget class="QComboBox" name="upper_freq_filter_unit">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@@ -2479,6 +2566,9 @@ QPushButton:checked {
|
|||||||
<bold>true</bold>
|
<bold>true</bold>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">background-color: #464646;</string>
|
||||||
|
</property>
|
||||||
<property name="currentText">
|
<property name="currentText">
|
||||||
<string>MHz</string>
|
<string>MHz</string>
|
||||||
</property>
|
</property>
|
||||||
@@ -2504,7 +2594,30 @@ QPushButton:checked {
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="4">
|
<item row="1" 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">
|
||||||
<widget class="QSpinBox" name="upper_freq_confidence">
|
<widget class="QSpinBox" name="upper_freq_confidence">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@@ -2532,6 +2645,9 @@ QPushButton:checked {
|
|||||||
<pointsize>12</pointsize>
|
<pointsize>12</pointsize>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">background-color: #464646;</string>
|
||||||
|
</property>
|
||||||
<property name="frame">
|
<property name="frame">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
@@ -2552,10 +2668,13 @@ QPushButton:checked {
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="3">
|
<item row="2" column="0" colspan="5">
|
||||||
<widget class="QLabel" name="label_12">
|
<widget class="QLabel" name="freq_range_lbl">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
@@ -2564,71 +2683,21 @@ QPushButton:checked {
|
|||||||
<font>
|
<font>
|
||||||
<pointsize>12</pointsize>
|
<pointsize>12</pointsize>
|
||||||
<weight>75</weight>
|
<weight>75</weight>
|
||||||
|
<italic>false</italic>
|
||||||
<bold>true</bold>
|
<bold>true</bold>
|
||||||
|
<underline>false</underline>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">color: #9f9f9f;</string>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string> Confidence %</string>
|
<string>Frequency range:
|
||||||
|
|
||||||
|
Inactive</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
<set>Qt::AlignCenter</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