class GaussianFuzzierSetting(QFrame): def __init__(self): super().__init__() layout = QHBoxLayout() layout.setContentsMargins(0, 0, 0, 0) self.setLayout(layout) self.mean = QDoubleSpinBox() self.mean.setRange(-100, 100) self.mean.setStatusTip("The mean (mu) value for Gaussian function.") self.sd = QDoubleSpinBox() self.sd.setDecimals(3) self.sd.setValue(5) self.sd.setMinimum(0.1) self.sd.setStatusTip("The standard deviation (sigma) value for " "Gaussian function.") self.ascending = QCheckBox() self.ascending.setIcon(QIcon(':/icons/ascending_icon.png')) self.ascending.setStatusTip("Make the fuzzier strictly ascending.") self.descending = QCheckBox() self.descending.setIcon(QIcon(':/icons/descending_icon.png')) self.descending.setStatusTip("Make the fuzzier strictly descending.") layout.addWidget(QLabel("Mean")) layout.addWidget(self.mean, 1) layout.addWidget(QLabel("Standard Deviation")) layout.addWidget(self.sd, 1) layout.addWidget(self.ascending) layout.addWidget(self.descending) def get_values(self): return (self.mean.value(), self.sd.value(), self.ascending.isChecked(), self.descending.isChecked())