Simplify connect_to function

This commit is contained in:
alessandro90
2018-11-04 12:01:32 +01:00
parent cf8be9f6e3
commit 7f124e30ff

58
main.py
View File

@@ -57,11 +57,11 @@ class MyApp(QMainWindow, Ui_MainWindow):
) )
self.connect_to( self.connect_to(
objects_to_connect = {self.lower_freq_spinbox: 'valueChanged', objects_to_connect = [self.lower_freq_spinbox.valueChanged,
self.upper_freq_spinbox: 'valueChanged', self.upper_freq_spinbox.valueChanged,
self.lower_freq_filter_unit: 'currentTextChanged', self.lower_freq_filter_unit.currentTextChanged,
self.upper_freq_filter_unit: 'currentTextChanged', self.upper_freq_filter_unit.currentTextChanged,
self.activate_low_freq_filter_btn: 'toggled'}, self.activate_low_freq_filter_btn.toggled],
fun_to_connect = self.set_min_value_upper_limit, fun_to_connect = self.set_min_value_upper_limit,
fun_args = [self.lower_freq_filter_unit, fun_args = [self.lower_freq_filter_unit,
self.lower_freq_spinbox, self.lower_freq_spinbox,
@@ -70,14 +70,14 @@ class MyApp(QMainWindow, Ui_MainWindow):
) )
self.connect_to( self.connect_to(
objects_to_connect = {self.lower_freq_spinbox: 'valueChanged', objects_to_connect = [self.lower_freq_spinbox.valueChanged,
self.upper_freq_spinbox: 'valueChanged', self.upper_freq_spinbox.valueChanged,
self.lower_freq_filter_unit: 'currentTextChanged', self.lower_freq_filter_unit.currentTextChanged,
self.upper_freq_filter_unit: 'currentTextChanged', self.upper_freq_filter_unit.currentTextChanged,
self.activate_low_freq_filter_btn: 'clicked', self.activate_low_freq_filter_btn.clicked,
self.activate_up_freq_filter_btn: 'clicked', self.activate_up_freq_filter_btn.clicked,
self.lower_freq_confidence: 'valueChanged', self.lower_freq_confidence.valueChanged,
self.upper_freq_confidence: 'valueChanged'}, self.upper_freq_confidence.valueChanged],
fun_to_connect = self.set_band_filter_label, fun_to_connect = self.set_band_filter_label,
fun_args = [self.activate_low_freq_filter_btn, fun_args = [self.activate_low_freq_filter_btn,
self.lower_freq_spinbox, self.lower_freq_spinbox,
@@ -133,11 +133,11 @@ class MyApp(QMainWindow, Ui_MainWindow):
# Manage bandwidth filters. # Manage bandwidth filters.
self.connect_to( self.connect_to(
objects_to_connect = {self.lower_band_spinbox: 'valueChanged', objects_to_connect = [self.lower_band_spinbox.valueChanged,
self.upper_band_spinbox: 'valueChanged', self.upper_band_spinbox.valueChanged,
self.lower_band_filter_unit: 'currentTextChanged', self.lower_band_filter_unit.currentTextChanged,
self.upper_band_filter_unit: 'currentTextChanged', self.upper_band_filter_unit.currentTextChanged,
self.activate_low_band_filter_btn: 'toggled'}, self.activate_low_band_filter_btn.toggled],
fun_to_connect = self.set_min_value_upper_limit, fun_to_connect = self.set_min_value_upper_limit,
fun_args = [self.lower_band_filter_unit, fun_args = [self.lower_band_filter_unit,
self.lower_band_spinbox, self.lower_band_spinbox,
@@ -146,14 +146,14 @@ class MyApp(QMainWindow, Ui_MainWindow):
) )
self.connect_to( self.connect_to(
objects_to_connect = {self.lower_band_spinbox: 'valueChanged', objects_to_connect = [self.lower_band_spinbox.valueChanged,
self.upper_band_spinbox: 'valueChanged', self.upper_band_spinbox.valueChanged,
self.lower_band_filter_unit: 'currentTextChanged', self.lower_band_filter_unit.currentTextChanged,
self.upper_band_filter_unit: 'currentTextChanged', self.upper_band_filter_unit.currentTextChanged,
self.activate_low_band_filter_btn: 'clicked', self.activate_low_band_filter_btn.clicked,
self.activate_up_band_filter_btn: 'clicked', self.activate_up_band_filter_btn.clicked,
self.lower_band_confidence: 'valueChanged', self.lower_band_confidence.valueChanged,
self.upper_band_confidence: 'valueChanged'}, self.upper_band_confidence.valueChanged],
fun_to_connect = self.set_band_filter_label, fun_to_connect = self.set_band_filter_label,
fun_args = [self.activate_low_band_filter_btn, fun_args = [self.activate_low_band_filter_btn,
self.lower_band_spinbox, self.lower_band_spinbox,
@@ -396,10 +396,8 @@ class MyApp(QMainWindow, Ui_MainWindow):
@staticmethod @staticmethod
def connect_to(objects_to_connect, fun_to_connect, fun_args): def connect_to(objects_to_connect, fun_to_connect, fun_args):
for obj, signal in objects_to_connect.items(): for signal in objects_to_connect:
getattr(obj, signal).connect( signal.connect(partial(fun_to_connect, *fun_args))
partial(fun_to_connect, *fun_args)
)
@pyqtSlot() @pyqtSlot()
def set_min_value_upper_limit(self, lower_combo_box, def set_min_value_upper_limit(self, lower_combo_box,