def __init__(self, parent=None): qt.QWidget.__init__(self, parent) self.mainLayout = qt.QGridLayout(self) self.mainLayout.setMargin(2) self.mainLayout.setSpacing(2) font = qt.QFont(self.font()) font.setBold(True) #Function handling self.functionLabel = qt.QLabel(self) self.functionLabel.setFont(font) self.functionLabel.setText("Function:") self.addFunctionButton = qt.QPushButton(self) self.addFunctionButton.setText("ADD") #fit function self.fitFunctionLabel = qt.QLabel(self) self.fitFunctionLabel.setFont(font) self.fitFunctionLabel.setText("Fit:") self.fitFunctionCombo = qt.QComboBox(self) self.fitFunctionCombo.addItem(qt.safe_str("None")) self.fitFunctionCombo.setSizeAdjustPolicy( qt.QComboBox.AdjustToContents) self.fitFunctionCombo.setMinimumWidth(100) #background function self.backgroundLabel = qt.QLabel(self) self.backgroundLabel.setFont(font) self.backgroundLabel.setText("Background:") self.backgroundCombo = qt.QComboBox(self) self.backgroundCombo.addItem(qt.safe_str("None")) self.backgroundCombo.setSizeAdjustPolicy(qt.QComboBox.AdjustToContents) self.backgroundCombo.setMinimumWidth(100) #arrange everything self.mainLayout.addWidget(self.functionLabel, 0, 0) self.mainLayout.addWidget(self.addFunctionButton, 0, 1) self.mainLayout.addWidget(qt.HorizontalSpacer(self), 0, 2) self.mainLayout.addWidget(self.fitFunctionLabel, 0, 3) self.mainLayout.addWidget(self.fitFunctionCombo, 0, 4) self.mainLayout.addWidget(qt.HorizontalSpacer(self), 0, 5) self.mainLayout.addWidget(self.backgroundLabel, 0, 6) self.mainLayout.addWidget(self.backgroundCombo, 0, 7) self.configureButton = qt.QPushButton(self) self.configureButton.setText("CONFIGURE") self.mainLayout.addWidget(self.configureButton, 0, 8)
def __init__(self, parent=None, name="SPS_StandardArray", fl=0, rows=0, cols=0): qt.QWidget.__init__(self, parent, name, fl) layout = qt.QGridLayout(self, 4, 2) layout.setMargin(5) plab = qt.QLabel("Plot", self) xlab = qt.QLabel("X :", self) ylab = qt.QLabel("Y :", self) layout.addWidget(plab, 0, 0, qt.Qt.AlignRight) layout.addWidget(xlab, 1, 0, qt.Qt.AlignRight) layout.addWidget(ylab, 2, 0, qt.Qt.AlignRight | qt.Qt.AlignTop) self.plotCombo = qt.QComboBox(self) self.plotCombo.setEditable(0) self.plotCombo.insertItem("Rows") self.plotCombo.insertItem("Columns") self.xCombo = qt.QComboBox(self) self.xCombo.setEditable(0) self.yList = qt.QListBox(self) self.yList.setSelectionMode(qt.QListBox.Multi) layout.addWidget(self.plotCombo, 0, 1) layout.addWidget(self.xCombo, 1, 1) layout.addWidget(self.yList, 2, 1) self.connect(self.plotCombo, qt.SIGNAL("activated(int)"), self.__plotChanged) self.setSize(rows, cols)
def build(self): self.mainLayout = qt.QGridLayout(self) self.mainLayout.setMargin(0) self.mainLayout.setSpacing(2) i = 0 if 0: label = qt.QLabel(self) label.setText("Run Number (0 for first run):") self.__runNumber = qt.QSpinBox(self) self.__runNumber.setMinimum(0) self.__runNumber.setValue(0) self.mainLayout.addWidget(label, i, 0) self.mainLayout.addWidget(self.__runNumber, i, 1) i += 1 if self._fit: label = qt.QLabel(self) label.setText("Select simulation or fit mode:") self._simulationMode = qt.QComboBox(self) self._simulationMode.setEditable(False) self._simulationMode.addItem("Simulation") self._simulationMode.addItem("Fit") self.mainLayout.addWidget(label, i, 0) self.mainLayout.addWidget(self._simulationMode, i, 1) i += 1 if 1: label = qt.QLabel(self) label.setText("Number of histories:") self.__nHistories = qt.QSpinBox(self) self.__nHistories.setMinimum(1000) self.__nHistories.setMaximum(10000000) self.__nHistories.setValue(100000) self.__nHistories.setSingleStep(50000) self.mainLayout.addWidget(label, i, 0) self.mainLayout.addWidget(self.__nHistories, i, 1) i += 1
def __init__(self, parent=None): qt.QDialog.__init__(self, parent) self.label = qt.QLabel('Please Select Output File Format : ') self.outputImageFormat = qt.QComboBox(self) self.outputImageFormat.addItem("EDF") self.outputImageFormat.addItem("Tiff") self.outputImageFormat.addItem("Dicom") self.outputImageFormat.addItem("Numpy") self.outputImageFormat.addItem("Matlab") self.outputImageFormat.addItem("PNG") buttonBox = qt.QDialogButtonBox(qt.QDialogButtonBox.Ok | qt.QDialogButtonBox.Cancel) qt.QObject.connect(buttonBox, qt.SIGNAL('accepted()'), self.accept) qt.QObject.connect(buttonBox, qt.SIGNAL('rejected()'), self.reject) self.mainLayout = qt.QGridLayout() self.mainLayout.addWidget(self.label, 0, 0) self.mainLayout.addWidget(self.outputImageFormat, 0, 1) self.mainLayout.addWidget(buttonBox, 1, 1) self.setLayout(self.mainLayout)
def __init__(self, parent=None): qt.QGroupBox.__init__(self, parent) self.setTitle("Function Definition") self.mainLayout = qt.QGridLayout(self) self.mainLayout.setMargin(2) self.mainLayout.setSpacing(2) row = 0 #actual fit function self.fitFunctionCheckBox = qt.QCheckBox(self) self.fitFunctionCheckBox.setText("Fit Function to be used") self.fitFunctionCombo = qt.QComboBox(self) self.fitFunctionCombo.addItem(str("None")) self.connect(self.fitFunctionCombo, qt.SIGNAL("activated(int)"), self._fitFunctionComboActivated) self.fitFunctionSetupButton = qt.QPushButton(self) self.fitFunctionSetupButton.setText('SETUP') self.fitFunctionSetupButton.setAutoDefault(False) self.fitFunctionSetupButton.hide() self.mainLayout.addWidget(self.fitFunctionCheckBox, row, 0) self.mainLayout.addWidget(qt.HorizontalSpacer(self), row, 1) self.mainLayout.addWidget(self.fitFunctionSetupButton, row, 2) self.mainLayout.addWidget(self.fitFunctionCombo, row, 3) row += 1 #background self.backgroundCheckBox = qt.QCheckBox(self) self.backgroundCheckBox.setText("Background function") self.backgroundCombo = qt.QComboBox(self) self.backgroundCombo.addItem(str("None")) self.connect(self.backgroundCombo, qt.SIGNAL("activated(int)"), self._backgroundComboActivated) self.backgroundSetupButton = qt.QPushButton(self) self.backgroundSetupButton.setText('SETUP') self.backgroundSetupButton.setAutoDefault(False) self.backgroundSetupButton.hide() self.mainLayout.addWidget(self.backgroundCheckBox, row, 0) self.mainLayout.addWidget(qt.HorizontalSpacer(self), row, 1) self.mainLayout.addWidget(self.backgroundSetupButton, row, 2) self.mainLayout.addWidget(self.backgroundCombo, row, 3) row += 1 #stripping self.stripCheckBox = qt.QCheckBox(self) self.stripCheckBox.setText( "Non-analytical (or estimation) background algorithm") self.stripCombo = qt.QComboBox(self) self.stripCombo.addItem(str("Strip")) self.stripCombo.addItem(str("SNIP")) self.stripSetupButton = qt.QPushButton(self) self.stripSetupButton.setText('SETUP') self.stripSetupButton.setAutoDefault(False) self.connect(self.stripCombo, qt.SIGNAL("activated(int)"), self._stripComboActivated) self.mainLayout.addWidget(self.stripCheckBox, row, 0) self.mainLayout.addWidget(qt.HorizontalSpacer(self), row, 1) self.mainLayout.addWidget(self.stripSetupButton, row, 2) self.mainLayout.addWidget(self.stripCombo, row, 3) row += 1 self.snipWidthLabel = qt.QLabel(self) self.snipWidthLabel.setText(str("SNIP Background Width")) self.snipWidthSpin = qt.QSpinBox(self) self.snipWidthSpin.setMinimum(1) self.snipWidthSpin.setMaximum(300) self.snipWidthSpin.setValue(10) self.mainLayout.addWidget(self.snipWidthLabel, row, 0) self.mainLayout.addWidget(self.snipWidthSpin, row, 3) row += 1 self.stripWidthLabel = qt.QLabel(self) self.stripWidthLabel.setText(str("Strip Background Width")) self.stripWidthSpin = qt.QSpinBox(self) self.stripWidthSpin.setMinimum(1) self.stripWidthSpin.setMaximum(100) self.stripWidthSpin.setValue(4) self.mainLayout.addWidget(self.stripWidthLabel, row, 0) self.mainLayout.addWidget(self.stripWidthSpin, row, 3) row += 1 self.stripIterLabel = qt.QLabel(self) self.stripIterLabel.setText(str("Strip Background Iterations")) self.stripIterSpin = qt.QSpinBox(self) self.stripIterSpin.setMinimum(0) self.stripIterSpin.setMaximum(100000) self.stripIterSpin.setValue(5000) self.mainLayout.addWidget(self.stripIterLabel, row, 0) self.mainLayout.addWidget(self.stripIterSpin, row, 3) row += 1 self.stripFilterLabel = qt.QLabel(self) text = str("Strip Background Smoothing Width (Savitsky-Golay)") self.stripFilterLabel.setText(text) self.stripFilterSpin = qt.QSpinBox(self) self.stripFilterSpin.setMinimum(0) self.stripFilterSpin.setMaximum(40) self.stripFilterSpin.setSingleStep(2) self.mainLayout.addWidget(self.stripFilterLabel, row, 0) self.mainLayout.addWidget(self.stripFilterSpin, row, 3) row += 1 #anchors self.anchorsContainer = qt.QWidget(self) anchorsContainerLayout = qt.QHBoxLayout(self.anchorsContainer) anchorsContainerLayout.setMargin(2) anchorsContainerLayout.setSpacing(2) self.stripAnchorsCheckBox = qt.QCheckBox(self.anchorsContainer) self.stripAnchorsCheckBox.setText(str("Strip Background use Anchors")) anchorsContainerLayout.addWidget(self.stripAnchorsCheckBox) self.stripAnchorsList = [] for i in range(4): anchor = qt.QLineEdit(self.anchorsContainer) anchor._v = qt.QDoubleValidator(anchor) anchor.setValidator(anchor._v) anchor.setText("0.0") anchorsContainerLayout.addWidget(anchor) self.stripAnchorsList.append(anchor) self.mainLayout.addWidget(self.anchorsContainer, row, 0, 1, 4) row += 1 #signals self.connect(self.fitFunctionSetupButton, qt.SIGNAL('clicked()'), self.setupFitFunction) self.connect(self.backgroundSetupButton, qt.SIGNAL('clicked()'), self.setupBackground) self.connect(self.stripSetupButton, qt.SIGNAL('clicked()'), self.setupStrip)
def __init__(self, parent=None): qt.QGroupBox.__init__(self, parent) self.setTitle("Fit Control") self.mainLayout = qt.QGridLayout(self) self.mainLayout.setMargin(2) self.mainLayout.setSpacing(2) row = 0 #linear fit self.fitAlgorithmLabel = qt.QLabel(self) self.fitAlgorithmLabel.setText("Fit algorithm") self.fitAlgorithmCombo = qt.QComboBox(self) self.fitAlgorithmCombo.addItem(str("Levenberg-Marquardt")) self.fitAlgorithmCombo.addItem(str("Linear Fit")) self.mainLayout.addWidget(self.fitAlgorithmLabel, row, 0) self.mainLayout.addWidget(qt.HorizontalSpacer(self), row, 1) self.mainLayout.addWidget(self.fitAlgorithmCombo, row, 3) row += 1 #weighting self.weightLabel = qt.QLabel(self) self.weightLabel.setText("Statistical weighting of data") self.weightCombo = qt.QComboBox(self) self.weightCombo.addItem(str("NO Weight")) self.weightCombo.addItem(str("Poisson (1/Y)")) self.mainLayout.addWidget(self.weightLabel, row, 0) self.mainLayout.addWidget(qt.HorizontalSpacer(self), row, 1) self.mainLayout.addWidget(self.weightCombo, row, 3) row += 1 #function estimation policy self.functionEstimationLabel = qt.QLabel(self) self.functionEstimationLabel.setText("Function estimation policy") self.functionEstimationCombo = qt.QComboBox(self) self.functionEstimationCombo.addItem(str("Use configuration")) self.functionEstimationCombo.addItem(str("Estimate once")) self.functionEstimationCombo.addItem(str("Estimate always")) self.functionEstimationCombo.setCurrentIndex(2) self.mainLayout.addWidget(self.functionEstimationLabel, row, 0) self.mainLayout.addWidget(self.functionEstimationCombo, row, 3) row += 1 #background estimation policy self.backgroundEstimationLabel = qt.QLabel(self) text = "Background estimation policy" self.backgroundEstimationLabel.setText(text) self.backgroundEstimationCombo = qt.QComboBox(self) self.backgroundEstimationCombo.addItem(str("Use configuration")) self.backgroundEstimationCombo.addItem(str("Estimate once")) self.backgroundEstimationCombo.addItem(str("Estimate always")) self.backgroundEstimationCombo.setCurrentIndex(2) self.mainLayout.addWidget(self.backgroundEstimationLabel, row, 0) self.mainLayout.addWidget(self.backgroundEstimationCombo, row, 3) row += 1 #number of iterations self.iterLabel = qt.QLabel(self) self.iterLabel.setText(str("Maximum number of fit iterations")) self.iterSpin = qt.QSpinBox(self) self.iterSpin.setMinimum(1) self.iterSpin.setMaximum(10000) self.iterSpin.setValue(10) self.mainLayout.addWidget(self.iterLabel, row, 0) self.mainLayout.addWidget(qt.HorizontalSpacer(self), row, 1) self.mainLayout.addWidget(self.iterSpin, row, 3) row += 1 #chi square handling self.chi2Label = qt.QLabel(self) self.chi2Label.setText(str("Minimum chi^2 difference (%)")) if 0: self.chi2Value = qt.QLineEdit(self) self.chi2Value._v = qt.QDoubleValidator(self.chi2Value) self.chi2Value.setValidator(self.chi2Value._v) self.chi2Value.setText(str("0.001")) else: self.chi2Value = qt.QDoubleSpinBox(self) self.chi2Value.setDecimals(4) self.chi2Value.setMinimum(0.0001) self.chi2Value.setMaximum(100.) self.chi2Value.setSingleStep(0.0001) self.chi2Value.setValue(0.001) self.mainLayout.addWidget(self.chi2Label, row, 0) self.mainLayout.addWidget(qt.HorizontalSpacer(self), row, 1) self.mainLayout.addWidget(self.chi2Value, row, 3) row += 1 #fitting region self.regionTopLine = qt.QFrame(self) self.regionTopLine.setFrameShape(qt.QFrame.HLine) self.regionTopLine.setFrameShadow(qt.QFrame.Sunken) self.regionTopLine.setFrameShape(qt.QFrame.HLine) self.regionCheckBox = qt.QCheckBox(self) self.regionCheckBox.setText(str("Limit fitting region to :")) self.firstLabel = qt.QLabel(self) firstLabel_font = qt.QFont(self.firstLabel.font()) firstLabel_font.setItalic(1) self.firstLabel.setFont(firstLabel_font) self.firstLabel.setText(str("First X Value ")) self.firstLabel.setAlignment(qt.Qt.AlignVCenter | qt.Qt.AlignRight) self.firstValue = qt.QLineEdit(self) self.firstValue._v = qt.QDoubleValidator(self.firstValue) self.firstValue.setValidator(self.firstValue._v) self.firstValue.setText(str("0.")) self.lastLabel = qt.QLabel(self) lastLabel_font = qt.QFont(self.lastLabel.font()) lastLabel_font.setItalic(1) self.lastLabel.setFont(lastLabel_font) self.lastLabel.setText(str("Last X Value ")) self.lastLabel.setAlignment(qt.Qt.AlignVCenter | qt.Qt.AlignRight) self.lastValue = qt.QLineEdit(self) self.lastValue._v = qt.QDoubleValidator(self.lastValue) self.lastValue.setValidator(self.lastValue._v) self.lastValue.setText(str("1000.")) self.regionBottomLine = qt.QFrame(self) self.regionBottomLine.setFrameShape(qt.QFrame.HLine) self.regionBottomLine.setFrameShadow(qt.QFrame.Sunken) self.regionBottomLine.setFrameShape(qt.QFrame.HLine) self.mainLayout.addWidget(self.regionTopLine, row, 0, 1, 4) row += 1 self.mainLayout.addWidget(self.regionCheckBox, row, 0) self.mainLayout.addWidget(self.firstLabel, row, 1) self.mainLayout.addWidget(self.firstValue, row, 3) row += 1 self.mainLayout.addWidget(self.lastLabel, row, 1) self.mainLayout.addWidget(self.lastValue, row, 3) row += 1 self.mainLayout.addWidget(self.regionBottomLine, row, 0, 1, 4) row += 1
def __init__(self, parent=None, name=None, fl=0): if QTVERSION < '4.0.0': qt.QWidget.__init__(self, parent, name, fl) if name == None: self.setName("FitParamForm") self.setCaption(str("FIT Parameters")) else: qt.QWidget.__init__(self, parent) if QTVERSION < '4.0.0': FitParamFormLayout = qt.QVBoxLayout(self, 11, 6, "FitParamFormLayout") self.mainTab = qt.QTabWidget(self, "mainTab") self.tabFit = qt.QWidget(self.mainTab, "tabFit") tabFitLayout = qt.QVBoxLayout(self.tabFit, 11, 6, "tabFitLayout") layout5 = qt.QGridLayout(None, 1, 1, 12, 6, "layout5") else: FitParamFormLayout = qt.QVBoxLayout(self) FitParamFormLayout.setMargin(11) FitParamFormLayout.setSpacing(6) self.mainTab = qt.QTabWidget(self) self.tabFit = qt.QWidget() tabFitLayout = qt.QVBoxLayout(self.tabFit) tabFitLayout.setMargin(11) tabFitLayout.setSpacing(6) layout5 = Q3GridLayout(None) #,1,1, layout5.setMargin(11) layout5.setSpacing(6) if QTVERSION < '4.0.0': self.functionCombo = qt.QComboBox(0, self.tabFit) else: self.functionCombo = qt.QComboBox(self.tabFit) self.functionCombo.insertItem = self.functionCombo.addItem self.functionLabel = qt.QLabel(self.tabFit) self.functionLabel.setText("Fit Function") self.functionCombo.insertItem(str("Mca Hypermet")) self.functionCombo.insertItem(str("Mca Pseudo-Voigt")) self.snipWidthLabel = qt.QLabel(self.tabFit) self.snipWidthLabel.setText(str("SNIP Background Width")) self.stripWidthLabel = qt.QLabel(self.tabFit) self.stripWidthLabel.setText(str("Strip Background Width")) self.stripIterValue = qt.QLineEdit(self.tabFit) self.chi2Label = qt.QLabel(self.tabFit) self.chi2Label.setText(str("Minimum chi^2 difference (%)")) self.chi2Value = qt.QLineEdit(self.tabFit) self.linearFitFlagCheck = qt.QCheckBox(self.tabFit) self.linearFitFlagCheck.setText( str("Perform a Linear Fit Fixing non-linear Parameters to Initial Values" )) self.mainTab.addTab(self.tabFit, str("FIT")) self.lastLabel = qt.QLabel(self.tabFit) lastLabel_font = qt.QFont(self.lastLabel.font()) lastLabel_font.setItalic(1) self.lastLabel.setFont(lastLabel_font) self.lastLabel.setText(str("Last channel :")) self.lastLabel.setAlignment(QLabelAlignVCenter | QLabelAlignRight) self.regionCheck = qt.QCheckBox(self.tabFit) self.regionCheck.setText(str("Limit fitting region to :")) self.topLine = qt.QFrame(self.tabFit) self.topLine.setFrameShape(qt.QFrame.HLine) self.topLine.setFrameShadow(qt.QFrame.Sunken) self.topLine.setFrameShape(qt.QFrame.HLine) ########## self.weightLabel = qt.QLabel(self.tabFit) self.weightLabel.setText("Statistical weighting of data") if QTVERSION < '4.0.0': self.weightCombo = qt.QComboBox(0, self.tabFit) else: self.weightCombo = qt.QComboBox(self.tabFit) self.weightCombo.insertItem = self.weightCombo.addItem self.weightCombo.insertItem(str("NO Weight")) self.weightCombo.insertItem(str("Poisson (1/Y)")) #self.weightCombo.insertItem(str("Poisson (1/Y2)")) ########## self.iterLabel = qt.QLabel(self.tabFit) self.iterLabel.setText(str("Number of fit iterations")) if QTVERSION < '4.0.0': self.contCombo = qt.QComboBox(0, self.tabFit) else: self.contCombo = qt.QComboBox(self.tabFit) self.contCombo.insertItem = self.contCombo.addItem self.contCombo.insertItem(str("NO Continuum")) self.contCombo.insertItem(str("Constant")) self.contCombo.insertItem(str("Linear")) self.contCombo.insertItem(str("Parabolic")) self.contCombo.insertItem(str("Linear Polynomial")) self.contCombo.insertItem(str("Exp. Polynomial")) if QTVERSION < '4.0.0': self.stripCombo = qt.QComboBox(0, self.tabFit) else: self.stripCombo = qt.QComboBox(self.tabFit) self.stripCombo.insertItem = self.stripCombo.addItem self.stripComboLabel = qt.QLabel(self.tabFit) self.stripComboLabel.setText( "Non-analytical (or estimation) background algorithm") self.stripCombo.insertItem(str("Strip")) self.stripCombo.insertItem(str("SNIP")) self.connect(self.stripCombo, qt.SIGNAL("activated(int)"), self._stripComboActivated) self.snipWidthSpin = Q3SpinBox(self.tabFit) self.snipWidthSpin.setMaxValue(300) self.snipWidthSpin.setMinValue(0) self.stripWidthSpin = Q3SpinBox(self.tabFit) self.stripWidthSpin.setMaxValue(100) self.stripWidthSpin.setMinValue(1) self.orderSpin = Q3SpinBox(self.tabFit) self.orderSpin.setMaxValue(10) self.orderSpin.setMinValue(1) maxnchannel = 16384 * 4 self.maxSpin = Q3SpinBox(self.tabFit) self.maxSpin.setMaxValue(maxnchannel) self.maxSpin.setLineStep(128) self.minSpin = Q3SpinBox(self.tabFit) self.minSpin.setMaxValue(maxnchannel) self.minSpin.setLineStep(128) self.stripIterLabel = qt.QLabel(self.tabFit) self.stripIterLabel.setText(str("Strip Background Iterations")) self.iterSpin = Q3SpinBox(self.tabFit) self.iterSpin.setMinValue(1) self.stripFilterLabel = qt.QLabel(self.tabFit) self.stripFilterLabel.setText( str("Strip Background Smoothing Width (Savitsky-Golay)")) self.stripFilterSpin = Q3SpinBox(self.tabFit) self.stripFilterSpin.setMinValue(1) self.stripFilterSpin.setMaxValue(40) self.stripFilterSpin.setLineStep(2) ######## self.anchorsContainer = qt.QWidget(self.tabFit) anchorsContainerLayout = qt.QHBoxLayout(self.anchorsContainer) anchorsContainerLayout.setMargin(0) anchorsContainerLayout.setSpacing(2) self.stripAnchorsFlagCheck = qt.QCheckBox(self.anchorsContainer) self.stripAnchorsFlagCheck.setText(str("Strip Background use Anchors")) anchorsContainerLayout.addWidget(self.stripAnchorsFlagCheck) self.stripAnchorsList = [] for i in range(4): anchorSpin = Q3SpinBox(self.anchorsContainer) anchorSpin.setMinValue(0) anchorSpin.setMaxValue(maxnchannel) anchorsContainerLayout.addWidget(anchorSpin) self.stripAnchorsList.append(anchorSpin) ####### self.firstLabel = qt.QLabel(self.tabFit) firstLabel_font = qt.QFont(self.firstLabel.font()) firstLabel_font.setItalic(1) self.firstLabel.setFont(firstLabel_font) self.firstLabel.setText(str("First channel :")) if QTVERSION < '4.0.0': self.firstLabel.setAlignment(QLabelAlignVCenter | QLabelAlignRight) else: self.firstLabel.setAlignment(qt.Qt.AlignVCenter | qt.Qt.AlignRight) self.typeLabel = qt.QLabel(self.tabFit) self.typeLabel.setText(str("Continuum type")) self.orderLabel = qt.QLabel(self.tabFit) self.orderLabel.setText(str("Polynomial order")) self.bottomLine = qt.QFrame(self.tabFit) self.bottomLine.setFrameShape(qt.QFrame.HLine) self.bottomLine.setFrameShadow(qt.QFrame.Sunken) self.bottomLine.setFrameShape(qt.QFrame.HLine) layout5.addMultiCellWidget(self.functionLabel, 0, 0, 0, 1) layout5.addMultiCellWidget(self.functionCombo, 0, 0, 3, 4) layout5.addMultiCellWidget(self.typeLabel, 1, 1, 0, 1) layout5.addMultiCellWidget(self.contCombo, 1, 1, 3, 4) layout5.addMultiCellWidget(self.orderLabel, 2, 2, 0, 1) layout5.addMultiCellWidget(self.orderSpin, 2, 2, 3, 4) layout5.addMultiCellWidget(self.stripComboLabel, 3, 3, 0, 1) if QTVERSION > '4.0.0': self.stripSetupButton = qt.QPushButton(self.tabFit) self.stripSetupButton.setText('SETUP') self.stripSetupButton.setAutoDefault(False) layout5.addWidget(self.stripCombo, 3, 3) layout5.addWidget(self.stripSetupButton, 3, 4) else: layout5.addMultiCellWidget(self.stripCombo, 3, 3, 3, 4) layout5.addMultiCellWidget(self.snipWidthLabel, 4, 4, 0, 1) layout5.addMultiCellWidget(self.snipWidthSpin, 4, 4, 3, 4) layout5.addMultiCellWidget(self.stripWidthLabel, 5, 5, 0, 1) layout5.addMultiCellWidget(self.stripWidthSpin, 5, 5, 3, 4) layout5.addMultiCellWidget(self.stripIterLabel, 6, 6, 0, 1) layout5.addMultiCellWidget(self.stripIterValue, 6, 6, 3, 4) layout5.addMultiCellWidget(self.stripFilterLabel, 7, 7, 0, 1) layout5.addMultiCellWidget(self.stripFilterSpin, 7, 7, 3, 4) layout5.addMultiCellWidget(self.anchorsContainer, 8, 8, 0, 4) layout5.addWidget(self.weightLabel, 9, 0) layout5.addMultiCellWidget(self.weightCombo, 9, 9, 3, 4) layout5.addWidget(self.iterLabel, 10, 0) if QTVERSION < '4.0.0': spacer = qt.QSpacerItem(185, 16,\ qt.QSizePolicy.Expanding, qt.QSizePolicy.Minimum) layout5.addMultiCell(spacer, 10, 10, 1, 2) else: layout5.addWidget(qt.HorizontalSpacer(self.tabFit), 10, 1) layout5.addMultiCellWidget(self.iterSpin, 10, 10, 3, 4) layout5.addWidget(self.chi2Label, 11, 0) layout5.addMultiCellWidget(self.chi2Value, 11, 11, 3, 4) layout5.addMultiCellWidget(self.linearFitFlagCheck, 12, 12, 0, 4) layout5.addMultiCellWidget(self.topLine, 13, 14, 0, 4) layout5.addMultiCellWidget(self.minSpin, 14, 15, 4, 4) layout5.addWidget(self.regionCheck, 15, 0) layout5.addMultiCellWidget(self.firstLabel, 15, 15, 2, 3) layout5.addMultiCellWidget(self.lastLabel, 16, 16, 2, 3) layout5.addWidget(self.maxSpin, 16, 4) layout5.addMultiCellWidget(self.bottomLine, 17, 17, 0, 4) tabFitLayout.addLayout(layout5) includeWidget = qt.QWidget(self.tabFit) if QTVERSION < '4.0.0': includeLayout = qt.QGridLayout(includeWidget, 1, 1, 0, 3, "includeLayout") else: includeLayout = Q3GridLayout(includeWidget) includeLayout.setMargin(0) includeLayout.setSpacing(3) self.stepCheck = qt.QCheckBox(includeWidget) self.stepCheck.setText(str("Step tail")) includeLayout.addWidget(self.stepCheck, 2, 2) self.escapeCheck = qt.QCheckBox(includeWidget) self.escapeCheck.setText(str("Escape peaks")) includeLayout.addWidget(self.escapeCheck, 1, 1) self.includeLabel = qt.QLabel(includeWidget) includeLabel_font = qt.QFont(self.includeLabel.font()) includeLabel_font.setBold(1) self.includeLabel.setFont(includeLabel_font) self.includeLabel.setText(str("Include:")) includeLayout.addWidget(self.includeLabel, 0, 0) self.sumCheck = qt.QCheckBox(includeWidget) self.sumCheck.setText(str("Pile-up peaks")) includeLayout.addWidget(self.sumCheck, 1, 2) self.scatterCheck = qt.QCheckBox(includeWidget) self.scatterCheck.setText(str("Scattering peaks")) includeLayout.addWidget(self.scatterCheck, 1, 3) self.stripCheck = qt.QCheckBox(includeWidget) self.stripCheck.setText(str("Stripping")) includeLayout.addWidget(self.stripCheck, 1, 0) self.longCheck = qt.QCheckBox(includeWidget) self.longCheck.setText(str("Long tail")) includeLayout.addWidget(self.longCheck, 2, 1) self.shortCheck = qt.QCheckBox(includeWidget) self.shortCheck.setText(str("Short tail")) includeLayout.addWidget(self.shortCheck, 2, 0) #tabFitLayout.addLayout(includeLayout) layout5.addMultiCellWidget(includeWidget, 18, 19, 0, 4) spacer_2 = qt.QSpacerItem(20, 40,\ qt.QSizePolicy.Minimum,\ qt.QSizePolicy.Expanding) tabFitLayout.addItem(spacer_2) if QTVERSION < '4.0.0': #self.mainTab.insertTab(self.tabFit,str("FIT")) self.tabDetector = qt.QWidget(self.mainTab, "tabDetector") tabDetectorLayout = qt.QVBoxLayout(self.tabDetector, 11, 6, "tabDetectorLayout") detLayout = qt.QGridLayout(None, 1, 1, 0, 2, "detLayout") self.elementCombo = qt.QComboBox(0, self.tabDetector, "elementCombo") else: #self.mainTab.addTab(self.tabFit,str("FIT")) self.tabDetector = qt.QWidget() tabDetectorLayout = qt.QVBoxLayout(self.tabDetector) tabDetectorLayout.setMargin(11) tabDetectorLayout.setSpacing(6) detLayout = Q3GridLayout(None) detLayout.setMargin(0) detLayout.setSpacing(2) self.elementCombo = qt.QComboBox(self.tabDetector) if QTVERSION < '4.0.0': self.elementCombo.insertItem(str("Si")) self.elementCombo.insertItem(str("Ge")) self.elementCombo.insertItem(str("Cd1Te1")) self.elementCombo.insertItem(str("Hg1I2")) self.elementCombo.insertItem(str("Ga1As1")) else: self.elementCombo.insertItem(0, str("Si")) self.elementCombo.insertItem(1, str("Ge")) self.elementCombo.insertItem(2, str("Cd1Te1")) self.elementCombo.insertItem(3, str("Hg1I2")) self.elementCombo.insertItem(4, str("Ga1As1")) self.elementCombo.setEnabled(1) self.elementCombo.setDuplicatesEnabled(0) detLayout.addWidget(self.elementCombo, 0, 3) self.elementLabel = qt.QLabel(self.tabDetector) self.elementLabel.setText(str("Detector Composition")) detLayout.addWidget(self.elementLabel, 0, 0) self.escapeLabel = qt.QLabel(self.tabDetector) self.escapeLabel.setText(str("Maximum Number of Escape energies")) detLayout.addMultiCellWidget(self.escapeLabel, 3, 4, 0, 0) #self.intensityValue0 = QLineEdit(self.tabDetector,"intensityValue0") #self.intensityValue0.setText(str("1.0")) #self.intensityValue0.setReadOnly(1) self.nEscapeThreshold = Q3SpinBox(self.tabDetector) self.nEscapeThreshold.setMaxValue(20) self.nEscapeThreshold.setMinValue(1) self.nEscapeThreshold.setValue(4) #detLayout.addWidget(self.intensityValue0,3,3) detLayout.addWidget(self.nEscapeThreshold, 3, 3) spacer_4 = qt.QSpacerItem(89, 20,\ qt.QSizePolicy.Expanding, qt.QSizePolicy.Minimum) detLayout.addItem(spacer_4, 3, 1) tabDetectorLayout.addLayout(detLayout) self.calibLine = qt.QFrame(self.tabDetector) self.calibLine.setFrameShape(qt.QFrame.HLine) self.calibLine.setFrameShadow(qt.QFrame.Sunken) self.calibLine.setFrameShape(qt.QFrame.HLine) tabDetectorLayout.addWidget(self.calibLine) if QTVERSION < '4.0.0': layout5_2 = qt.QGridLayout(None, 1, 1, 11, 2, "layout5_2") else: layout5_2 = Q3GridLayout(None) layout5_2.setMargin(11) layout5_2.setSpacing(2) self.zeroError = qt.QLineEdit(self.tabDetector) layout5_2.addWidget(self.zeroError, 1, 5) self.sumfacSepLabel = qt.QLabel(self.tabDetector) sumfacSepLabel_font = qt.QFont(self.sumfacSepLabel.font()) sumfacSepLabel_font.setBold(1) self.sumfacSepLabel.setFont(sumfacSepLabel_font) self.sumfacSepLabel.setText(str("+/-")) layout5_2.addWidget(self.sumfacSepLabel, 5, 4) self.noiseLabel = qt.QLabel(self.tabDetector) self.noiseLabel.setText(str("Detector noise (keV)")) layout5_2.addWidget(self.noiseLabel, 3, 0) self.gainCheck = qt.QCheckBox(self.tabDetector) self.gainCheck.setText(str("")) layout5_2.addWidget(self.gainCheck, 2, 2) self.gainLabel = qt.QLabel(self.tabDetector) self.gainLabel.setText(str("Spectrometer gain (keV/ch)")) layout5_2.addWidget(self.gainLabel, 2, 0) self.sumfacLabel = qt.QLabel(self.tabDetector) self.sumfacLabel.setText(str("Pile-up Factor")) layout5_2.addWidget(self.sumfacLabel, 5, 0) self.noiseError = qt.QLineEdit(self.tabDetector) layout5_2.addWidget(self.noiseError, 3, 5) self.zeroValue = qt.QLineEdit(self.tabDetector) layout5_2.addWidget(self.zeroValue, 1, 3) self.fanoSepLabel = qt.QLabel(self.tabDetector) fanoSepLabel_font = qt.QFont(self.fanoSepLabel.font()) fanoSepLabel_font.setBold(1) self.fanoSepLabel.setFont(fanoSepLabel_font) self.fanoSepLabel.setText(str("+/-")) layout5_2.addWidget(self.fanoSepLabel, 4, 4) self.fanoError = qt.QLineEdit(self.tabDetector) layout5_2.addWidget(self.fanoError, 4, 5) self.zeroSepLabel = qt.QLabel(self.tabDetector) zeroSepLabel_font = qt.QFont(self.zeroSepLabel.font()) zeroSepLabel_font.setBold(1) self.zeroSepLabel.setFont(zeroSepLabel_font) self.zeroSepLabel.setText(str("+/-")) layout5_2.addWidget(self.zeroSepLabel, 1, 4) self.valueLabel = qt.QLabel(self.tabDetector) valueLabel_font = qt.QFont(self.valueLabel.font()) valueLabel_font.setItalic(1) self.valueLabel.setFont(valueLabel_font) self.valueLabel.setText(str("Value")) if QTVERSION < '4.0.0': self.valueLabel.setAlignment(QLabelAlignCenter) else: self.valueLabel.setAlignment(qt.Qt.AlignCenter) layout5_2.addWidget(self.valueLabel, 0, 3) if QTVERSION < '4.0.0': spacer_5 = qt.QSpacerItem(44, 20,\ qt.QSizePolicy.Expanding,\ qt.QSizePolicy.Minimum) layout5_2.addItem(spacer_5, 1, 1) else: layout5_2.addWidget(qt.HorizontalSpacer(self.tabDetector), 1, 1) self.noiseValue = qt.QLineEdit(self.tabDetector) layout5_2.addWidget(self.noiseValue, 3, 3) self.fanoValue = qt.QLineEdit(self.tabDetector) layout5_2.addWidget(self.fanoValue, 4, 3) self.zeroLabel = qt.QLabel(self.tabDetector) self.zeroLabel.setText(str("Spectrometer zero (keV)")) layout5_2.addWidget(self.zeroLabel, 1, 0) self.sumfacError = qt.QLineEdit(self.tabDetector) layout5_2.addWidget(self.sumfacError, 5, 5) self.noiseSepLabel = qt.QLabel(self.tabDetector) noiseSepLabel_font = qt.QFont(self.noiseSepLabel.font()) noiseSepLabel_font.setBold(1) self.noiseSepLabel.setFont(noiseSepLabel_font) self.noiseSepLabel.setText(str("+/-")) layout5_2.addWidget(self.noiseSepLabel, 3, 4) self.sumfacCheck = qt.QCheckBox(self.tabDetector) self.sumfacCheck.setText(str("")) layout5_2.addWidget(self.sumfacCheck, 5, 2) self.noiseCheck = qt.QCheckBox(self.tabDetector) self.noiseCheck.setText(str("")) layout5_2.addWidget(self.noiseCheck, 3, 2) self.errorLabel = qt.QLabel(self.tabDetector) errorLabel_font = qt.QFont(self.errorLabel.font()) errorLabel_font.setItalic(1) self.errorLabel.setFont(errorLabel_font) self.errorLabel.setText(str("Delta ")) self.errorLabel.setAlignment(QLabelAlignCenter) layout5_2.addWidget(self.errorLabel, 0, 5) self.fixedLabel = qt.QLabel(self.tabDetector) fixedLabel_font = qt.QFont(self.fixedLabel.font()) fixedLabel_font.setItalic(1) self.fixedLabel.setFont(fixedLabel_font) self.fixedLabel.setText(str("Fixed ")) if QTVERSION < '4.0.0': self.fixedLabel.setAlignment(QLabelAlignVCenter) else: self.fixedLabel.setAlignment(qt.Qt.AlignVCenter) layout5_2.addWidget(self.fixedLabel, 0, 2) self.zeroCheck = qt.QCheckBox(self.tabDetector) self.zeroCheck.setText(str("")) layout5_2.addWidget(self.zeroCheck, 1, 2) self.sumfacValue = qt.QLineEdit(self.tabDetector, ) layout5_2.addWidget(self.sumfacValue, 5, 3) self.fanoLabel = qt.QLabel(self.tabDetector) self.fanoLabel.setText(str("Fano factor (Si ~ 0.12, Ge ~ 0.1)")) layout5_2.addWidget(self.fanoLabel, 4, 0) self.gainValue = qt.QLineEdit(self.tabDetector) layout5_2.addWidget(self.gainValue, 2, 3) self.gainSepLabel = qt.QLabel(self.tabDetector) gainSepLabel_font = qt.QFont(self.gainSepLabel.font()) gainSepLabel_font.setBold(1) self.gainSepLabel.setFont(gainSepLabel_font) self.gainSepLabel.setText(str("+/-")) layout5_2.addWidget(self.gainSepLabel, 2, 4) self.fanoCheck = qt.QCheckBox(self.tabDetector) self.fanoCheck.setText(str("")) layout5_2.addWidget(self.fanoCheck, 4, 2) self.gainError = qt.QLineEdit(self.tabDetector) layout5_2.addWidget(self.gainError, 2, 5) tabDetectorLayout.addLayout(layout5_2) spacer_6 = qt.QSpacerItem(20, 2,\ qt.QSizePolicy.Minimum,\ qt.QSizePolicy.Expanding) tabDetectorLayout.addItem(spacer_6) if QTVERSION < '4.0.0': self.mainTab.insertTab(self.tabDetector, str("DETECTOR")) self.TabBeam = qt.QWidget(self.mainTab, "TabBeam") self.mainTab.insertTab(self.TabBeam, str("BEAM")) self.TabPeaks = qt.QWidget(self.mainTab, "TabPeaks") self.mainTab.insertTab(self.TabPeaks, str("PEAKS")) else: self.mainTab.addTab(self.tabDetector, str("DETECTOR")) self.TabBeam = qt.QWidget() self.mainTab.addTab(self.TabBeam, str("BEAM")) self.TabPeaks = qt.QWidget() self.mainTab.addTab(self.TabPeaks, str("PEAKS")) if QTVERSION < '4.0.0': self.tabPeakShape = qt.QWidget(self.mainTab) tabPeakShapeLayout = qt.QGridLayout(self.tabPeakShape, 1, 1, 11, 2, "tabPeakShapeLayout") else: self.tabPeakShape = qt.QWidget() tabPeakShapeLayout = Q3GridLayout(self.tabPeakShape) tabPeakShapeLayout.setMargin(11) tabPeakShapeLayout.setSpacing(2) spacer_7 = qt.QSpacerItem(20, 90,\ qt.QSizePolicy.Minimum,\ qt.QSizePolicy.Expanding) tabPeakShapeLayout.addItem(spacer_7, 8, 0) self.staLabel = qt.QLabel(self.tabPeakShape) self.staLabel.setText(str("Short Tail Area")) tabPeakShapeLayout.addWidget(self.staLabel, 2, 0) spacer_8 = qt.QSpacerItem(59, 20,\ qt.QSizePolicy.Expanding,\ qt.QSizePolicy.Minimum) tabPeakShapeLayout.addItem(spacer_8, 1, 1) self.fixedLabel_2 = qt.QLabel(self.tabPeakShape) fixedLabel_2_font = qt.QFont(self.fixedLabel_2.font()) fixedLabel_2_font.setItalic(1) self.fixedLabel_2.setFont(fixedLabel_2_font) self.fixedLabel_2.setText(str("Fixed")) self.fixedLabel_2.setAlignment(QLabelAlignVCenter) tabPeakShapeLayout.addWidget(self.fixedLabel_2, 1, 2) self.staCheck = qt.QCheckBox(self.tabPeakShape) self.staCheck.setText(str("")) tabPeakShapeLayout.addWidget(self.staCheck, 2, 2) self.valueLabel_2 = qt.QLabel(self.tabPeakShape) valueLabel_2_font = qt.QFont(self.valueLabel_2.font()) valueLabel_2_font.setItalic(1) self.valueLabel_2.setFont(valueLabel_2_font) self.valueLabel_2.setText(str("Value")) self.valueLabel_2.setAlignment(QLabelAlignCenter) tabPeakShapeLayout.addWidget(self.valueLabel_2, 1, 3) self.staValue = qt.QLineEdit(self.tabPeakShape) tabPeakShapeLayout.addWidget(self.staValue, 2, 3) self.staSep = qt.QLabel(self.tabPeakShape) staSep_font = qt.QFont(self.staSep.font()) staSep_font.setBold(1) self.staSep.setFont(staSep_font) self.staSep.setText(str("+/-")) tabPeakShapeLayout.addWidget(self.staSep, 2, 4) self.errorLabel_2 = qt.QLabel(self.tabPeakShape) errorLabel_2_font = qt.QFont(self.errorLabel_2.font()) errorLabel_2_font.setItalic(1) self.errorLabel_2.setFont(errorLabel_2_font) self.errorLabel_2.setText(str("Error")) self.errorLabel_2.setAlignment(QLabelAlignCenter) tabPeakShapeLayout.addWidget(self.errorLabel_2, 1, 5) self.staError = qt.QLineEdit(self.tabPeakShape) tabPeakShapeLayout.addWidget(self.staError, 2, 5) self.stsError = qt.QLineEdit(self.tabPeakShape) tabPeakShapeLayout.addWidget(self.stsError, 3, 5) self.stsSep = qt.QLabel(self.tabPeakShape) stsSep_font = qt.QFont(self.stsSep.font()) stsSep_font.setBold(1) self.stsSep.setFont(stsSep_font) self.stsSep.setText(str("+/-")) tabPeakShapeLayout.addWidget(self.stsSep, 3, 4) self.stsValue = qt.QLineEdit(self.tabPeakShape) tabPeakShapeLayout.addWidget(self.stsValue, 3, 3) self.stsCheck = qt.QCheckBox(self.tabPeakShape) self.stsCheck.setText(str("")) tabPeakShapeLayout.addWidget(self.stsCheck, 3, 2) self.stsLabel = qt.QLabel(self.tabPeakShape) self.stsLabel.setText(str("Short Tail Slope")) tabPeakShapeLayout.addWidget(self.stsLabel, 3, 0) self.ltaLabel = qt.QLabel(self.tabPeakShape) self.ltaLabel.setText(str("Long Tail Area")) tabPeakShapeLayout.addWidget(self.ltaLabel, 4, 0) self.ltaCheck = qt.QCheckBox(self.tabPeakShape) self.ltaCheck.setText(str("")) tabPeakShapeLayout.addWidget(self.ltaCheck, 4, 2) self.ltaValue = qt.QLineEdit(self.tabPeakShape) tabPeakShapeLayout.addWidget(self.ltaValue, 4, 3) self.ltaSep = qt.QLabel(self.tabPeakShape) ltaSep_font = qt.QFont(self.ltaSep.font()) ltaSep_font.setBold(1) self.ltaSep.setFont(ltaSep_font) self.ltaSep.setText(str("+/-")) tabPeakShapeLayout.addWidget(self.ltaSep, 4, 4) self.ltaError = qt.QLineEdit(self.tabPeakShape) tabPeakShapeLayout.addWidget(self.ltaError, 4, 5) self.ltsError = qt.QLineEdit(self.tabPeakShape) tabPeakShapeLayout.addWidget(self.ltsError, 5, 5) self.ltsSep = qt.QLabel(self.tabPeakShape) ltsSep_font = qt.QFont(self.ltsSep.font()) ltsSep_font.setBold(1) self.ltsSep.setFont(ltsSep_font) self.ltsSep.setText(str("+/-")) tabPeakShapeLayout.addWidget(self.ltsSep, 5, 4) self.ltsValue = qt.QLineEdit(self.tabPeakShape) tabPeakShapeLayout.addWidget(self.ltsValue, 5, 3) self.ltsCheck = qt.QCheckBox(self.tabPeakShape) self.ltsCheck.setText(str("")) tabPeakShapeLayout.addWidget(self.ltsCheck, 5, 2) self.ltsLabel = qt.QLabel(self.tabPeakShape) self.ltsLabel.setText(str("Long Tail Slope")) tabPeakShapeLayout.addWidget(self.ltsLabel, 5, 0) # Step Height self.shLabel = qt.QLabel(self.tabPeakShape) self.shLabel.setText(str("Step Height")) tabPeakShapeLayout.addWidget(self.shLabel, 6, 0) self.shCheck = qt.QCheckBox(self.tabPeakShape) self.shCheck.setText(str("")) tabPeakShapeLayout.addWidget(self.shCheck, 6, 2) self.shValue = qt.QLineEdit(self.tabPeakShape) tabPeakShapeLayout.addWidget(self.shValue, 6, 3) self.shSep = qt.QLabel(self.tabPeakShape) shSep_font = qt.QFont(self.shSep.font()) shSep_font.setBold(1) self.shSep.setFont(shSep_font) self.shSep.setText(str("+/-")) tabPeakShapeLayout.addWidget(self.shSep, 6, 4) self.shError = qt.QLineEdit(self.tabPeakShape) tabPeakShapeLayout.addWidget(self.shError, 6, 5) # Pseudo-Voigt Eta Factor self.etaLabel = qt.QLabel(self.tabPeakShape) self.etaLabel.setText(str("Pseudo-Voigt Eta")) tabPeakShapeLayout.addWidget(self.etaLabel, 7, 0) self.etaCheck = qt.QCheckBox(self.tabPeakShape) self.etaCheck.setText(str("")) tabPeakShapeLayout.addWidget(self.etaCheck, 7, 2) self.etaValue = qt.QLineEdit(self.tabPeakShape) tabPeakShapeLayout.addWidget(self.etaValue, 7, 3) self.etaSep = qt.QLabel(self.tabPeakShape) etaSep_font = qt.QFont(self.etaSep.font()) etaSep_font.setBold(1) self.etaSep.setFont(etaSep_font) self.etaSep.setText(str("+/-")) tabPeakShapeLayout.addWidget(self.etaSep, 7, 4) self.etaError = qt.QLineEdit(self.tabPeakShape) tabPeakShapeLayout.addWidget(self.etaError, 7, 5) if QTVERSION < '4.0.0': self.mainTab.insertTab(self.tabPeakShape, str("PEAK SHAPE")) else: self.mainTab.addTab(self.tabPeakShape, str("PEAK SHAPE")) FitParamFormLayout.addWidget(self.mainTab) self.setTabOrder(self.mainTab, self.elementCombo) self.setTabOrder(self.zeroCheck, self.zeroValue) self.setTabOrder(self.zeroValue, self.zeroError) self.setTabOrder(self.zeroError, self.gainCheck) self.setTabOrder(self.gainCheck, self.gainValue) self.setTabOrder(self.gainValue, self.gainError) self.setTabOrder(self.gainError, self.noiseCheck) self.setTabOrder(self.noiseCheck, self.noiseValue) self.setTabOrder(self.noiseValue, self.noiseError) self.setTabOrder(self.noiseError, self.fanoCheck) self.setTabOrder(self.fanoCheck, self.fanoValue) self.setTabOrder(self.fanoValue, self.fanoError) self.setTabOrder(self.fanoError, self.staCheck) self.setTabOrder(self.staCheck, self.staValue) self.setTabOrder(self.staValue, self.staError) self.setTabOrder(self.staError, self.stsCheck) self.setTabOrder(self.stsCheck, self.stsValue) self.setTabOrder(self.stsValue, self.stsError) self.setTabOrder(self.stsError, self.ltaCheck) self.setTabOrder(self.ltaCheck, self.ltaValue) self.setTabOrder(self.ltaValue, self.ltaError) self.setTabOrder(self.ltaError, self.ltsCheck) self.setTabOrder(self.ltsCheck, self.ltsValue) self.setTabOrder(self.ltsValue, self.ltsError) self.setTabOrder(self.ltsError, self.shCheck) self.setTabOrder(self.shCheck, self.shValue) self.setTabOrder(self.shValue, self.shError) self.setTabOrder(self.shError, self.contCombo) self.setTabOrder(self.contCombo, self.stripCombo) self.setTabOrder(self.stripCombo, self.iterSpin) self.setTabOrder(self.iterSpin, self.chi2Value) self.setTabOrder(self.chi2Value, self.regionCheck) self.setTabOrder(self.regionCheck, self.minSpin) self.setTabOrder(self.minSpin, self.maxSpin) self.setTabOrder(self.maxSpin, self.stripCheck) self.setTabOrder(self.stripCheck, self.escapeCheck) self.setTabOrder(self.escapeCheck, self.sumCheck) self.setTabOrder(self.sumCheck, self.scatterCheck) self.setTabOrder(self.scatterCheck, self.shortCheck) self.setTabOrder(self.shortCheck, self.longCheck) self.setTabOrder(self.longCheck, self.stepCheck) self._stripComboActivated(0)
def __init__(self, parent, ddict, llist, plugin): qt.QDialog.__init__(self, parent) self.setWindowTitle('Alignment Window') nCols = 2 nRows = len(ddict) self.plugin = plugin # Buttons buttonSave = qt.QPushButton('Save') buttonSave.setToolTip('Save shifts to file') buttonLoad = qt.QPushButton('Load') buttonLoad.setToolTip('Load shifts from file') buttonStore = qt.QPushButton('Store') buttonStore.setToolTip('Store shifts in memory.\n') buttonApply = qt.QPushButton('Apply') buttonApply.setToolTip('Apply shift to curves present' +' in the plot window') buttonCancel = qt.QPushButton('Cancel') buttonCalc = qt.QPushButton('Calculate') # Table self.shiftTab = qt.QTableWidget(nRows, nCols) self.shiftTab.verticalHeader().hide() self.shiftTab.horizontalHeader().setStretchLastSection(True) self.shiftTab.setHorizontalHeaderLabels(['Legend','Shift']) # Shift Method selector self.shiftMethodComboBox = qt.QComboBox() self.shiftMethodComboBox.addItems( ['Shift x-range', 'Inverse FFT shift']) shiftMethodToolTip =\ ('Select the method that shifts the spectra\n\n' +'Shift x-range:\n' +' Directly applies the shift to the data\'s\n' +' x-range\n' +'Inverse FFT shift:\n' +' Shifts the spectra by multiplying a\n' +' phase factor to their Fourier transform. The result is\n' +' transformed back to real space. Recommended for data with\n' +' resp. regions with constant background.') self.shiftMethodComboBox.setToolTip(shiftMethodToolTip) # Alignment Method selector self.alignmentMethodComboBox = qt.QComboBox() self.alignmentMethodComboBox.addItems( ['FFT', 'MAX', 'FIT', 'FIT DRV']) alignmentMethodToolTip =\ ('Select the method used to calculate the shift is calculated.\n\n' +'FFT:\n' +' Calculates the correlation between two curves using its\n' +' Fourier transform. The shift is proportional to the distance of\n' +' the correlation function\'s maxima.\n' +'MAX:\n' +' Determines the shift as the distance between the maxima of\n' +' two peaks\n' +'FIT:\n' +' Guesses the most prominent feature in a spectrum and tries\n' +' to fit it with a Gaussian peak. Before the fit is perform, the\n' +' background is substracted. The shift is given by the difference\n' +' of the center of mass between two peaks.\n' +'FIT DRV:\n' +' Like FIT, but the fit is performed on the derivate of the\n' +' spectrum. Recommended procedure for XAFS data.') self.alignmentMethodComboBox.setToolTip(alignmentMethodToolTip) # Fill table with data self.setDict(llist, ddict) self.shiftTab.resizeColumnToContents(self._colLegend) self.shiftTab.resizeColumnToContents(self._colShiftLegend) #Layouts topLayout = qt.QHBoxLayout() topLayout.addWidget(buttonCalc) topLayout.addWidget(qt.HorizontalSpacer()) topLayout.addWidget(qt.QLabel('Alignment method:')) topLayout.addWidget(self.alignmentMethodComboBox) topLayout.addWidget(qt.QLabel('Shift method:')) topLayout.addWidget(self.shiftMethodComboBox) buttonLayout = qt.QHBoxLayout() buttonLayout.addWidget(buttonSave) buttonLayout.addWidget(buttonLoad) buttonLayout.addWidget(qt.HorizontalSpacer()) buttonLayout.addWidget(buttonApply) buttonLayout.addWidget(buttonStore) buttonLayout.addWidget(buttonCancel) mainLayout = qt.QVBoxLayout() mainLayout.addLayout(topLayout) mainLayout.addWidget(self.shiftTab) mainLayout.addLayout(buttonLayout) mainLayout.setContentsMargins(1,1,1,1) self.setLayout(mainLayout) # Connects self.shiftTab.cellChanged.connect(self.validateInput) buttonApply.clicked.connect(self.accept) buttonCancel.clicked.connect(self.reject) buttonStore.clicked.connect(self.store) buttonSave.clicked.connect(self.saveDict) buttonLoad.clicked.connect(self.loadDict) # ..to Plugin instance buttonCalc.clicked[()].connect(self.triggerCalculateShift) self.alignmentMethodComboBox.activated['QString'].\ connect(self.triggerCalculateShift)
def __init__(self, parent=None, filetypelist=None): qt.QWidget.__init__(self, parent) self.mainLayout= qt.QVBoxLayout(self) self.mainLayout.setMargin(0) self.mainLayout.setSpacing(0) if filetypelist is None: self.fileTypeList = ["Spec Files (*mca)", "Spec Files (*dat)", "Spec Files (*spec)", "SPE Files (*SPE)", "EDF Files (*edf)", "EDF Files (*ccd)", "CSV Files (*csv)", "All Files (*)"] else: self.fileTypeList = filetypelist self.lastFileFilter = self.fileTypeList[0] # --- file combo/open/close self.lastInputDir = PyMcaDirs.inputDir self.fileWidget= qt.QWidget(self) fileWidgetLayout= qt.QHBoxLayout(self.fileWidget) fileWidgetLayout.setMargin(0) fileWidgetLayout.setSpacing(0) self.fileCombo = qt.QComboBox(self.fileWidget) self.fileCombo.setEditable(0) self.mapCombo= {} openButton= qt.QToolButton(self.fileWidget) if QTVERSION < '4.0.0': self.openIcon= qt.QIconSet(qt.QPixmap(icons.fileopen)) self.closeIcon= qt.QIconSet(qt.QPixmap(icons.fileclose)) self.specIcon= qt.QIconSet(qt.QPixmap(icons.spec)) self.reloadIcon = qt.QIconSet(qt.QPixmap(icons.reload)) openButton.setIconSet(self.openIcon) openButton.setSizePolicy(qt.QSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Minimum)) closeButton= qt.QToolButton(self.fileWidget) closeButton.setIconSet(self.closeIcon) specButton= qt.QToolButton(self.fileWidget) specButton.setIconSet(self.specIcon) refreshButton= qt.QToolButton(self.fileWidget) refreshButton.setIconSet(self.reloadIcon) else: self.openIcon = qt.QIcon(qt.QPixmap(icons.fileopen)) self.closeIcon = qt.QIcon(qt.QPixmap(icons.fileclose)) self.reloadIcon = qt.QIcon(qt.QPixmap(icons.reload)) self.specIcon = qt.QIcon(qt.QPixmap(icons.spec)) openButton.setIcon(self.openIcon) openButton.setSizePolicy(qt.QSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Minimum)) openButton.setToolTip("Open new file data source") closeButton= qt.QToolButton(self.fileWidget) closeButton.setIcon(self.closeIcon) closeButton.setToolTip("Close current data source") refreshButton= qt.QToolButton(self.fileWidget) refreshButton.setIcon(self.reloadIcon) refreshButton.setToolTip("Refresh data source") specButton= qt.QToolButton(self.fileWidget) specButton.setIcon(self.specIcon) specButton.setToolTip("Open new shared memory source") closeButton.setSizePolicy(qt.QSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Minimum)) specButton.setSizePolicy(qt.QSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Minimum)) refreshButton.setSizePolicy(qt.QSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Minimum)) self.connect(openButton, qt.SIGNAL("clicked()"), self._openFileSlot) self.connect(closeButton, qt.SIGNAL("clicked()"), self.closeFile) self.connect(refreshButton, qt.SIGNAL("clicked()"), self._reload) self.connect(specButton, qt.SIGNAL("clicked()"), self.openSpec) self.connect(self.fileCombo, qt.SIGNAL("activated(const QString &)"), self._fileSelection) fileWidgetLayout.addWidget(self.fileCombo) fileWidgetLayout.addWidget(openButton) fileWidgetLayout.addWidget(closeButton) fileWidgetLayout.addWidget(specButton) if sys.platform == "win32":specButton.hide() fileWidgetLayout.addWidget(refreshButton) self.specButton = specButton self.mainLayout.addWidget(self.fileWidget)
def __init__(self, parent=None, name="SPSSelector", fl=0): qt.QWidget.__init__(self, parent, name, fl) self.dataSource = None self.data = None self.currentSpec = None self.currentArray = None self.selection = None self.openFile = self.refreshSpecList self.selectPixmap = qt.QPixmap(icons.selected) self.unselectPixamp = qt.QPixmap(icons.unselected) mainLayout = qt.QVBoxLayout(self) # --- spec name selection specWidget = qt.QWidget(self) self.specCombo = qt.QComboBox(specWidget) self.specCombo.setEditable(0) self.reload = qt.QIconSet(qt.QPixmap(icons.reload)) refreshButton = qt.QToolButton(specWidget) refreshButton.setIconSet(self.reload) refreshButton.setSizePolicy( qt.QSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Minimum)) self.closeIcon = qt.QIconSet(qt.QPixmap(icons.fileclose)) closeButton = qt.QToolButton(specWidget) closeButton.setIconSet(self.closeIcon) closeButton.setSizePolicy( qt.QSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Minimum)) specLayout = qt.QHBoxLayout(specWidget) specLayout.addWidget(self.specCombo) specLayout.addWidget(refreshButton) specLayout.addWidget(closeButton) self.connect(refreshButton, qt.SIGNAL("clicked()"), self.refreshSpecList) self.connect(closeButton, qt.SIGNAL("clicked()"), self.closeCurrentSpec) self.connect(self.specCombo, qt.SIGNAL("activated(const QString &)"), self.refreshArrayList) # --- splitter self.splitter = qt.QSplitter(self) self.splitter.setOrientation(qt.QSplitter.Vertical) # --- shm array list self.arrayList = qt.QListView(self.splitter, "ShmArrayList") self.arrayList.addColumn("") self.arrayList.addColumn("Array Name") self.arrayList.addColumn("Rows") self.arrayList.addColumn("Cols") self.arrayList.setSorting(-1) self.arrayList.header().setClickEnabled(0, -1) self.arrayList.setAllColumnsShowFocus(1) self.arrayList.setSelectionMode(qt.QListView.Single) self.connect(self.arrayList, qt.SIGNAL("selectionChanged()"), self.__arraySelection) # --- array parameter self.paramIndex = {} self.paramWidget = qt.QWidgetStack(self.splitter) for type in self.WidgetArrays.keys(): widclass = self.WidgetArrays[type] wid = widclass(self.paramWidget) self.paramWidget.addWidget(wid) self.paramIndex[type] = self.paramWidget.id(wid) # --- command buttons butWidget = qt.QWidget(self) butWidget.setSizePolicy( qt.QSizePolicy(qt.QSizePolicy.Minimum, qt.QSizePolicy.Minimum)) addButton = qt.QPushButton("Add", butWidget) removeButton = qt.QPushButton("Remove", butWidget) replaceButton = qt.QPushButton("Replace", butWidget) butLayout = qt.QHBoxLayout(butWidget) butLayout.addWidget(removeButton) butLayout.addWidget(replaceButton) butLayout.addWidget(addButton) butLayout.setMargin(5) self.connect(addButton, qt.SIGNAL("clicked()"), self.__addClicked) self.connect(replaceButton, qt.SIGNAL("clicked()"), self.__replaceClicked) self.connect(removeButton, qt.SIGNAL("clicked()"), self.__removeClicked) # --- main layout mainLayout.setMargin(5) mainLayout.setSpacing(5) mainLayout.addWidget(specWidget) mainLayout.addWidget(self.splitter) mainLayout.addWidget(butWidget)
def __init__(self, parent=None, options=[1, 2, 3, 4, 5, 10], regions=False): qt.QDialog.__init__(self, parent) if QTVERSION < '4.0.0': self.setCaption("PCA Configuration Dialog") else: self.setWindowTitle("PCA Configuration Dialog") self.mainLayout = qt.QVBoxLayout(self) self.mainLayout.setMargin(11) self.mainLayout.setSpacing(0) self.methodOptions = qt.QGroupBox(self) self.methodOptions.setTitle('PCA Method to use') self.methods = [ 'Covariance', 'Expectation Max.', 'Cov. Multiple Arrays' ] self.functions = [ PCAModule.numpyPCA, PCAModule.expectationMaximizationPCA, PCAModule.multipleArrayPCA ] self.methodOptions.mainLayout = qt.QGridLayout(self.methodOptions) self.methodOptions.mainLayout.setMargin(0) self.methodOptions.mainLayout.setSpacing(2) #this does not seem to bring any advantage if 0: self.methods.append("Covariance Numpy") self.functions.append(PCAModule.numpyPCA) if MDP: #self.methods.append("MDP (PCA + ICA)") self.methods.append("MDP (SVD float32)") self.methods.append("MDP (SVD float64)") self.methods.append("MDP ICA (float32)") self.methods.append("MDP ICA (float64)") self.functions.append(PCAModule.mdpPCASVDFloat32) self.functions.append(PCAModule.mdpPCASVDFloat64) self.functions.append(PCAModule.mdpICAFloat32) self.functions.append(PCAModule.mdpICAFloat64) self.buttonGroup = qt.QButtonGroup(self.methodOptions) i = 0 for item in self.methods: rButton = qt.QRadioButton(self.methodOptions) self.methodOptions.mainLayout.addWidget(rButton, 0, i) #self.l.setAlignment(rButton, qt.Qt.AlignHCenter) if i == 1: rButton.setChecked(True) rButton.setText(item) self.buttonGroup.addButton(rButton) self.buttonGroup.setId(rButton, i) i += 1 self.connect(self.buttonGroup, qt.SIGNAL('buttonPressed(QAbstractButton *)'), self._slot) self.mainLayout.addWidget(self.methodOptions) #built in speed options self.speedOptions = qt.QGroupBox(self) self.speedOptions.setTitle("Speed Options") self.speedOptions.mainLayout = qt.QGridLayout(self.speedOptions) self.speedOptions.mainLayout.setMargin(0) self.speedOptions.mainLayout.setSpacing(2) labelPC = qt.QLabel(self) labelPC.setText("Number of PC:") self.nPC = qt.QSpinBox(self.speedOptions) self.nPC.setMinimum(0) self.nPC.setValue(10) self.nPC.setMaximum(40) self.binningLabel = qt.QLabel(self.speedOptions) self.binningLabel.setText("Spectral Binning:") self.binningCombo = qt.QComboBox(self.speedOptions) for option in options: self.binningCombo.addItem("%d" % option) self.speedOptions.mainLayout.addWidget(labelPC, 0, 0) self.speedOptions.mainLayout.addWidget(self.nPC, 0, 1) #self.speedOptions.mainLayout.addWidget(qt.HorizontalSpacer(self), 0, 2) self.speedOptions.mainLayout.addWidget(self.binningLabel, 1, 0) self.speedOptions.mainLayout.addWidget(self.binningCombo, 1, 1) self.binningCombo.setEnabled(False) self.connect(self.binningCombo, qt.SIGNAL("activated(int)"), self._updatePlotFromBinningCombo) if regions: self.__regions = True self.__addRegionsWidget() else: self.__regions = False #the optional plot self.scanWindow = None #the OK button hbox = qt.QWidget(self) hboxLayout = qt.QHBoxLayout(hbox) hboxLayout.setMargin(0) hboxLayout.setSpacing(0) self.okButton = qt.QPushButton(hbox) self.okButton.setText("Accept") self.okButton.setAutoDefault(False) hboxLayout.addWidget(qt.HorizontalSpacer(hbox)) hboxLayout.addWidget(self.okButton) hboxLayout.addWidget(qt.HorizontalSpacer(hbox)) self.mainLayout.addWidget(self.speedOptions) if regions: self.mainLayout.addWidget(self.regionsWidget) self.mainLayout.addWidget(hbox) if self.scanWindow is not None: self.mainLayout.addWidget(self.scanWindow) self.connect(self.okButton, qt.SIGNAL("clicked()"), self.accept)
def _buildToolbar(self): # --- command buttons buttonSize = 65 toolBar = qt.QWidget(self) # a layout for the toolbar toolsLayout = qt.QHBoxLayout(toolBar) toolsLayout.setMargin(0) toolsLayout.setSpacing(0) # Margin """ marginLabel = qt.QLabel("Margins:", toolBar) if QTVERSION < '4.0.0': self.marginSpin = qt.QSpinBox(0, 50, 10, toolBar) else: self.marginSpin = qt.QSpinBox(toolBar) self.marginSpin.setRange(0, 50) self.marginSpin.setSingleStep(10) self.connect(self.marginSpin, qt.SIGNAL("valueChanged(int)"), \ self.__marginChanged) """ # Scale / Zoom scaleLabel = qt.QLabel("Zoom:", toolBar) scaleCombo = qt.QComboBox(toolBar) self.scaleValues = [20, 40, 60, 80, 100, 150, 200] if QTVERSION < '4.0.0': for scale in self.scaleValues: scaleCombo.insertItem("%3d %%" % scale) else: for scale in self.scaleValues: scaleCombo.addItem("%3d %%" % scale) self.scaleCombo = scaleCombo self.connect(self.scaleCombo, qt.SIGNAL("activated(int)"), \ self.__scaleChanged) hideBut = qt.QPushButton("Hide", toolBar) #hideBut.setFixedWidth(buttonSize-10) self.connect(hideBut, qt.SIGNAL("clicked()"), self.hide) cancelBut = qt.QPushButton("Clear All", toolBar) #cancelBut.setFixedWidth(buttonSize+10) self.connect(cancelBut, qt.SIGNAL("clicked()"), self.__clearAll) removeBut = qt.QPushButton("Remove", toolBar) #removeBut.setFixedWidth(buttonSize) self.connect(removeBut, qt.SIGNAL("clicked()"), self.__remove) setupBut = qt.QPushButton("Setup", toolBar) #setupBut.setFixedWidth(buttonSize-5) self.connect(setupBut, qt.SIGNAL("clicked()"), self.__setup) printBut = qt.QPushButton("Print", toolBar) #printBut.setFixedWidth(buttonSize-5) self.connect(printBut, qt.SIGNAL("clicked()"), self.__print) zoomPlusBut = qt.QPushButton("Zoom +", toolBar) #zoomPlusBut.setFixedWidth(buttonSize-5) self.connect(zoomPlusBut, qt.SIGNAL("clicked()"), self.__zoomPlus) zoomMinusBut = qt.QPushButton("Zoom -", toolBar) #zoomMinusBut.setFixedWidth(buttonSize-5) self.connect(zoomMinusBut, qt.SIGNAL("clicked()"), self.__zoomMinus) # now we put widgets in the toolLayout toolsLayout.addWidget(hideBut) toolsLayout.addWidget(printBut) toolsLayout.addWidget(cancelBut) toolsLayout.addWidget(removeBut) toolsLayout.addWidget(setupBut) #toolsLayout.addStretch() #toolsLayout.addWidget(marginLabel) #toolsLayout.addWidget(self.marginSpin) toolsLayout.addStretch() #toolsLayout.addWidget(scaleLabel) #toolsLayout.addWidget(scaleCombo) toolsLayout.addWidget(zoomPlusBut) toolsLayout.addWidget(zoomMinusBut) #toolsLayout.addStretch() self.toolBar = toolBar self.mainLayout.addWidget(self.toolBar)
def __init__( self, parent=None, ): qt.QWidget.__init__(self, parent) self.mainLayout = qt.QGridLayout() self.frame = VtkUF.VTK_Render_QT() nb_row = 9 width_widget = 350 self.check_parameters_files() self.ImagesList = [] self.DataList = [] self.ItemLists = [] """ Image To Render """ self.labelIR = qt.QLabel("Volume To Render") self.labelIR.setMaximumWidth(width_widget) self.comboBoxIR = qt.QComboBox() self.comboBoxIR.setMaximumWidth(width_widget) self.labelVF = qt.QLabel("Vector Field To Render") self.labelVF.setMaximumWidth(width_widget) self.comboBoxVF = qt.QComboBox() self.comboBoxVF.setMaximumWidth(width_widget) self.labelP = qt.QLabel("Plane Image To Render") self.labelP.setMaximumWidth(width_widget) self.comboBoxP = qt.QComboBox() self.comboBoxP.setMaximumWidth(width_widget) self.LayoutPlane = qt.QHBoxLayout() self.Xplane = LabelEditAndButton(True, "X: ", True, str(0), False) self.Xplane.setMaximumWidth(width_widget / 3.0) self.Yplane = LabelEditAndButton(True, "X: ", True, str(0), False) self.Yplane.setMaximumWidth(width_widget / 3.0) self.Zplane = LabelEditAndButton(True, "Z: ", True, str(0), False) self.Zplane.setMaximumWidth(width_widget / 3.0) self.LayoutPlane.addWidget(self.Xplane) self.LayoutPlane.addWidget(self.Yplane) self.LayoutPlane.addWidget(self.Zplane) self.setImages() """------------------------------------ COLOR TABLE -------------------------------------""" self.color_TitleAndIcons = TitleAndIcones(True, "Color Table", True, './Icones/save.png', './Icones/saveas.png', './Icones/load.png') self.connect(self.color_TitleAndIcons.save, qt.SIGNAL("clicked()"), self._buttonColorSavePushed) self.connect(self.color_TitleAndIcons.saveas, qt.SIGNAL("clicked()"), self._buttonColorSaveasPushed) self.connect(self.color_TitleAndIcons.load, qt.SIGNAL("clicked()"), self._buttonColorLoadPushed) self.colorCoef = qt.QTableWidget(nb_row, 6) self.colorCoef.verticalHeader().hide() self.colorCoef.setColumnWidth(0, 50) self.colorCoef.setColumnWidth(1, 50) self.colorCoef.setColumnWidth(2, 50) self.colorCoef.setColumnWidth(3, 50) self.colorCoef.setColumnWidth(4, 70) self.colorCoef.setColumnWidth(5, 85) for i in range(nb_row): self.colorCoef.setRowHeight(i, 15) self.colorCoef.setMaximumWidth(width_widget) self.colorCoef.setHorizontalHeaderLabels( ['Value', 'R', 'G', 'B', 'Midpoint', 'Sharpness']) self.colorCoef.setContentsMargins(-1, 0, -1, -1) self.fill_colorTable() """------------------------------------ ALPHA TABLE -------------------------------------""" self.alpha_TitleAndIcons = TitleAndIcones(True, "Alpha Table", True, './Icones/save.png', './Icones/saveas.png', './Icones/load.png') self.connect(self.alpha_TitleAndIcons.save, qt.SIGNAL("clicked()"), self._buttonAlphaSavePushed) self.connect(self.alpha_TitleAndIcons.saveas, qt.SIGNAL("clicked()"), self._buttonAlphaSaveasPushed) self.connect(self.alpha_TitleAndIcons.load, qt.SIGNAL("clicked()"), self._buttonAlphaLoadPushed) self.AlphaCoef = qt.QTableWidget(nb_row, 4) self.AlphaCoef.verticalHeader().hide() self.AlphaCoef.setColumnWidth(0, 50) self.AlphaCoef.setColumnWidth(1, 50) self.AlphaCoef.setColumnWidth(2, 70) self.AlphaCoef.setColumnWidth(3, 85) for i in range(nb_row): self.AlphaCoef.setRowHeight(i, 15) self.AlphaCoef.setMaximumWidth(width_widget) self.AlphaCoef.setHorizontalHeaderLabels( ['Value', 'Alpha', 'Midpoint', 'Sharpness']) self.AlphaCoef.setContentsMargins(-1, 0, -1, -1) self.fill_alphaTable() """------------------------------------ PARAMETERS -------------------------------------""" self.parameters_TitleAndIcons = TitleAndIcones( True, "Volume Parameters", True, './Icones/save.png', './Icones/saveas.png', './Icones/load.png') self.connect(self.parameters_TitleAndIcons.save, qt.SIGNAL("clicked()"), self._buttonParaSavePushed) self.connect(self.parameters_TitleAndIcons.saveas, qt.SIGNAL("clicked()"), self._buttonParaSaveasPushed) self.connect(self.parameters_TitleAndIcons.load, qt.SIGNAL("clicked()"), self._buttonParaLoadPushed) self.renderButton = qt.QPushButton("Render") self.renderButton.setMaximumWidth(width_widget) self.check_box_mesh = qt.QCheckBox("Marching Cube Volume") self.ThresholdMC = LabelEditAndButton(True, "Value For Threshold", True, str(0.5), False) self.check_smooth = qt.QCheckBox("Smoothing Mesh") self.SmoothIterNb = LabelEditAndButton(True, "Smooth Iteration Number :", True, str(10), False) self.SmoothRelaxF = LabelEditAndButton(True, "Relaxation Factor :", True, str(0.5), False) self.check_box_mesh.setMaximumWidth(width_widget) self.ThresholdMC.setMaximumWidth(width_widget) self.check_smooth.setMaximumWidth(width_widget) self.SmoothIterNb.setMaximumWidth(width_widget) self.SmoothRelaxF.setMaximumWidth(width_widget) self.checkBox = qt.QCheckBox("Shade") self.checkBox.setMaximumWidth(width_widget) self.LabelAmb = qt.QLabel("Ambient lighting coefficient") self.LabelAmb.setContentsMargins(-1, -1, -1, 0) self.sliderAmb = SliderAndLabel.SliderAndLabelSpecificScale() self.sliderAmb.setMaximumWidth(width_widget) self.sliderAmb._setStepPrecision(0.05) self.sliderAmb._setRange(0, 10.0) self.sliderAmb.setContentsMargins(-1, 0, -1, -1) self.LabelDif = qt.QLabel("Diffuse lighting Coefficient") self.LabelDif.setContentsMargins(-1, -1, -1, 0) self.sliderDif = SliderAndLabel.SliderAndLabelSpecificScale() self.sliderDif.setMaximumWidth(width_widget) self.sliderDif._setStepPrecision(0.05) self.sliderDif._setRange(0, 10.0) self.sliderDif.setContentsMargins(-1, 0, -1, -1) self.LabelSpe = qt.QLabel("Specular lighting Coefficient") self.LabelSpe.setContentsMargins(-1, -1, -1, 0) self.sliderSpe = SliderAndLabel.SliderAndLabelSpecificScale() self.sliderSpe.setMaximumWidth(width_widget) self.sliderSpe._setStepPrecision(0.05) self.sliderSpe._setRange(0, 10.0) self.sliderSpe.setContentsMargins(-1, 0, -1, -1) self.LabelSpeP = qt.QLabel("Specular power Coefficient") self.LabelSpeP.setContentsMargins(-1, -1, -1, 0) self.sliderSpeP = SliderAndLabel.SliderAndLabelSpecificScale() self.sliderSpeP.setMaximumWidth(width_widget) self.sliderSpeP._setStepPrecision(0.05) self.sliderSpeP._setRange(0, 10.0) self.sliderSpeP.setContentsMargins(-1, 0, -1, -1) self.LabelOpa = qt.QLabel("Opacity unit distance") self.LabelOpa.setContentsMargins(-1, -1, -1, 0) self.sliderOpa = SliderAndLabel.SliderAndLabelSpecificScale() self.sliderOpa.setMaximumWidth(width_widget) self.sliderOpa._setStepPrecision(1) self.sliderOpa._setRange(0, 1000) self.sliderOpa.setContentsMargins(-1, 0, -1, -1) self.fill_para() self.mainLayout.addWidget(self.frame, 0, 0) self.mainLayout.addWidget(self.color_TitleAndIcons, 0, 1) self.mainLayout.addWidget(self.colorCoef, 1, 1, 10, 1) self.mainLayout.addWidget(self.alpha_TitleAndIcons, 12, 1) self.mainLayout.addWidget(self.AlphaCoef, 13, 1, 10, 1) self.mainLayout.addWidget(self.labelIR, 1, 2) self.mainLayout.addWidget(self.comboBoxIR, 2, 2) self.mainLayout.addWidget(self.labelVF, 3, 2) self.mainLayout.addWidget(self.comboBoxVF, 4, 2) self.mainLayout.addWidget(self.labelP, 5, 2) self.mainLayout.addWidget(self.comboBoxP, 6, 2) self.mainLayout.addWidget(self.check_box_mesh, 7, 2) self.mainLayout.addWidget(self.ThresholdMC, 8, 2) self.mainLayout.addWidget(self.check_smooth, 9, 2) self.mainLayout.addWidget(self.SmoothIterNb, 10, 2) self.mainLayout.addWidget(self.SmoothRelaxF, 11, 2) self.mainLayout.addLayout(self.LayoutPlane, 12, 2) self.mainLayout.addWidget(self.parameters_TitleAndIcons, 13, 2) self.mainLayout.addWidget(self.checkBox, 14, 2) self.mainLayout.addWidget(self.LabelAmb, 15, 2) self.mainLayout.addWidget(self.sliderAmb, 16, 2) self.mainLayout.addWidget(self.LabelDif, 17, 2) self.mainLayout.addWidget(self.sliderDif, 18, 2) self.mainLayout.addWidget(self.LabelSpe, 19, 2) self.mainLayout.addWidget(self.sliderSpe, 20, 2) self.mainLayout.addWidget(self.LabelSpeP, 21, 2) self.mainLayout.addWidget(self.sliderSpeP, 22, 2) self.mainLayout.addWidget(self.LabelOpa, 23, 2) self.mainLayout.addWidget(self.sliderOpa, 24, 2) self.mainLayout.addWidget(self.renderButton, 25, 2) self.setLayout(self.mainLayout) qt.QObject.connect(self.renderButton, qt.SIGNAL("clicked()"), self._render)
def __init__(self, parent, legends, motorValues, plotWindow=None, actions=[], nSelectors=2): """ legends List contains Plotnames motorValues List contains names and values of the motors """ CloseEventNotifyingWidget.CloseEventNotifyingWidget.__init__( self, parent) self.setWindowTitle("Sort Plots Window") self.legendList = legends self.motorsList = motorValues self.motorNamesList = [''] + self.getAllMotorNames() self.motorNamesList.sort() self.numCurves = len(legends) self.actionList = actions self.cBoxList = [] self.ScanWindowA = None self.ScanWindowB = None self.closeWidget = CloseEventNotifyingWidget.CloseEventNotifyingWidget( ) self.plotWindow = plotWindow if plotWindow else None buttonPerfom = qt.QPushButton("Perform action", self) buttonProcessA = qt.QPushButton("Process as A", self) buttonProcessB = qt.QPushButton("Process as B", self) updatePixmap = qt.QPixmap(IconDict["reload"]) buttonUpdate = qt.QPushButton(qt.QIcon(updatePixmap), '', self) cBoxLabel = qt.QLabel(qt.QString('Select motor:'), self) for i in range(nSelectors): cBox = qt.QComboBox(self) cBox.addItems(self.motorNamesList) cBox.activated['QString'].connect(self.updateTree) self.cBoxList += [cBox] self.actionCBox = qt.QComboBox(self) self.list = SortPlotsTreeWidget(self) labels = ['Legend'] + nSelectors * [''] ncols = len(labels) self.list.setColumnCount(ncols) self.list.setHeaderLabels(labels) self.list.setSortingEnabled(True) self.list.setSelectionMode(qt.QAbstractItemView.ExtendedSelection) mainLayout = qt.QGridLayout(self) cBoxLayout = qt.QHBoxLayout(None) buttonLayout = qt.QHBoxLayout(None) mainLayout.setContentsMargins(1, 1, 1, 1) mainLayout.setSpacing(2) mainLayout.addLayout(cBoxLayout, 0, 0) mainLayout.addLayout(buttonLayout, 2, 0) self.setLayout(mainLayout) cBoxLayout.addWidget(cBoxLabel) for cBox in self.cBoxList: cBoxLayout.addWidget(cBox) cBoxLayout.addWidget(qt.HorizontalSpacer(self)) cBoxLayout.addWidget(buttonUpdate) mainLayout.addWidget(self.list, 1, 0) buttonLayout.addWidget(buttonProcessA) buttonLayout.addWidget(buttonProcessB) buttonLayout.addWidget(qt.HorizontalSpacer(self)) buttonLayout.addWidget(self.actionCBox) buttonLayout.addWidget(buttonPerfom) self.resize(500, 300) buttonPerfom.clicked.connect(self.performAction) buttonProcessA.clicked.connect(self.processAsA) buttonProcessB.clicked.connect(self.processAsB) buttonUpdate.clicked.connect(self.updatePlots) self.updateTree() self.updateActionList([('Invert selection', self.list.invertSelection), ('Process as A', self.processAsA), ('Process as B', self.processAsB), ('Remove curve(s)', self.removeCurve_)])
def __init__(self, parent=None, name="Compound Tab", layerlist=None): qt.QWidget.__init__(self, parent) if layerlist is None: self.nlayers = 5 else: self.nlayers = len(layerlist) layout = qt.QVBoxLayout(self) hbox = qt.QWidget(self) hboxlayout = qt.QHBoxLayout(hbox) #hboxlayout.addWidget(qt.HorizontalSpacer(hbox)) self._compoundFittingLabel = MyQLabel(hbox, color=qt.Qt.red) self._compoundFittingLabel.setText("Compound Fitting Mode is OFF") self._compoundFittingLabel.setAlignment(qt.QLabel.AlignCenter) hboxlayout.addWidget(self._compoundFittingLabel) #hboxlayout.addWidget(qt.HorizontalSpacer(hbox)) layout.addWidget(hbox) grid = qt.QWidget(self) if QTVERSION < '4.0.0': glt = qt.QGridLayout(grid, 1, 1, 11, 2, "gridlayout") else: glt = Q3GridLayout(grid) glt.setMargin(11) glt.setSpacing(2) self._layerFlagWidgetList = [] options = ["FREE", "FIXED", "IGNORED"] for i in range(self.nlayers): r = int(i / 5) c = 3 * (i % 5) label = qt.QLabel(grid) label.setText("Layer%d" % i) cbox = qt.QComboBox(grid) if QTVERSION < '4.0.0': cbox.insertStrList(options) if i == 0: cbox.setCurrentItem(0) else: cbox.setCurrentItem(1) else: for item in options: cbox.addItem(item) if i == 0: cbox.setCurrentIndex(0) else: cbox.setCurrentIndex(1) glt.addWidget(label, r, c) glt.addWidget(cbox, r, c + 1) glt.addWidget(qt.QWidget(grid), r, c + 2) layout.addWidget(grid) if QTVERSION < '4.0.0': self.mainTab = qt.QTabWidget(self, "mainTab") layout.addWidget(self.mainTab) self._editorList = [] for i in range(self.nlayers): editor = CompoundFittingTab0(self.mainTab, layerindex=i) self.mainTab.insertTab(editor, str("Layer%d" % i)) self._editorList.append(editor) else: self.mainTab = qt.QTabWidget(self) layout.addWidget(self.mainTab) self._editorList = [] for i in range(self.nlayers): editor = CompoundFittingTab0(layerindex=i) self.mainTab.addTab(editor, "layer Editor") self._editorList.append(editor)
def __init__(self, parent=None, options=[1, 2, 3, 4, 5, 10]): qt.QDialog.__init__(self, parent) if QTVERSION < '4.0.0': self.setCaption("NNMA Configuration Dialog") else: self.setWindowTitle("NNMA Configuration Dialog") self.mainLayout = qt.QVBoxLayout(self) self.mainLayout.setMargin(11) self.mainLayout.setSpacing(0) self.infoButton = qt.QPushButton(self) self.infoButton.setAutoDefault(False) self.infoButton.setText('About NNMA') self.mainLayout.addWidget(self.infoButton) self.connect(self.infoButton, qt.SIGNAL('clicked()'), self._showInfo) # self.methodOptions = qt.QGroupBox(self) self.methodOptions.setTitle('NNMA Method to use') self.methods = [ 'RRI', 'NNSC', 'NMF', 'SNMF', 'NMFKL', 'FNMAI', 'ALS', 'FastHALS', 'GDCLS' ] self.methodOptions.mainLayout = qt.QGridLayout(self.methodOptions) self.methodOptions.mainLayout.setMargin(0) self.methodOptions.mainLayout.setSpacing(2) self.buttonGroup = qt.QButtonGroup(self.methodOptions) i = 0 for item in self.methods: rButton = qt.QRadioButton(self.methodOptions) self.methodOptions.mainLayout.addWidget(rButton, 0, i) #self.l.setAlignment(rButton, qt.Qt.AlignHCenter) if i == 1: rButton.setChecked(True) rButton.setText(item) self.buttonGroup.addButton(rButton) self.buttonGroup.setId(rButton, i) i += 1 self.connect(self.buttonGroup, qt.SIGNAL('buttonPressed(QAbstractButton *)'), self._slot) self.mainLayout.addWidget(self.methodOptions) # NNMA configuration parameters self.nnmaConfiguration = qt.QGroupBox(self) self.nnmaConfiguration.setTitle('NNMA Configuration') self.nnmaConfiguration.mainLayout = qt.QGridLayout( self.nnmaConfiguration) self.nnmaConfiguration.mainLayout.setMargin(0) self.nnmaConfiguration.mainLayout.setSpacing(2) label = qt.QLabel(self.nnmaConfiguration) label.setText('Tolerance (0<eps<1000:') self._tolerance = qt.QLineEdit(self.nnmaConfiguration) validator = qt.QDoubleValidator(self._tolerance) self._tolerance.setValidator(validator) self._tolerance._validator = validator self._tolerance.setText("0.001") self.nnmaConfiguration.mainLayout.addWidget(label, 0, 0) self.nnmaConfiguration.mainLayout.addWidget(self._tolerance, 0, 1) label = qt.QLabel(self.nnmaConfiguration) label.setText('Maximum iterations:') self._maxIterations = qt.QSpinBox(self.nnmaConfiguration) self._maxIterations.setMinimum(1) self._maxIterations.setMaximum(1000) self._maxIterations.setValue(100) self.nnmaConfiguration.mainLayout.addWidget(label, 1, 0) self.nnmaConfiguration.mainLayout.addWidget(self._maxIterations, 1, 1) self.mainLayout.addWidget(self.nnmaConfiguration) #built in speed options self.speedOptions = qt.QGroupBox(self) self.speedOptions.setTitle("Speed Options") self.speedOptions.mainLayout = qt.QGridLayout(self.speedOptions) self.speedOptions.mainLayout.setMargin(0) self.speedOptions.mainLayout.setSpacing(2) labelPC = qt.QLabel(self) labelPC.setText("Number of PC:") self.nPC = qt.QSpinBox(self.speedOptions) self.nPC.setMinimum(0) self.nPC.setValue(10) self.nPC.setMaximum(40) self.binningLabel = qt.QLabel(self.speedOptions) self.binningLabel.setText("Spectral Binning:") self.binningCombo = qt.QComboBox(self.speedOptions) for option in options: self.binningCombo.addItem("%d" % option) self.speedOptions.mainLayout.addWidget(labelPC, 0, 0) self.speedOptions.mainLayout.addWidget(self.nPC, 0, 1) #self.speedOptions.mainLayout.addWidget(qt.HorizontalSpacer(self), 0, 2) self.speedOptions.mainLayout.addWidget(self.binningLabel, 1, 0) self.speedOptions.mainLayout.addWidget(self.binningCombo, 1, 1) self.binningCombo.setEnabled(True) #the OK button hbox = qt.QWidget(self) hboxLayout = qt.QHBoxLayout(hbox) hboxLayout.setMargin(0) hboxLayout.setSpacing(0) self.okButton = qt.QPushButton(hbox) self.okButton.setAutoDefault(False) self.okButton.setText("Accept") hboxLayout.addWidget(qt.HorizontalSpacer(hbox)) hboxLayout.addWidget(self.okButton) self.dismissButton = qt.QPushButton(hbox) self.dismissButton.setAutoDefault(False) self.dismissButton.setText("Dismiss") hboxLayout.addWidget(qt.HorizontalSpacer(hbox)) hboxLayout.addWidget(self.dismissButton) hboxLayout.addWidget(qt.HorizontalSpacer(hbox)) self.mainLayout.addWidget(self.speedOptions) self.mainLayout.addWidget(hbox) self.connect(self.okButton, qt.SIGNAL("clicked()"), self.accept) self.connect(self.dismissButton, qt.SIGNAL("clicked()"), self.reject) self._infoDocument = qt.QTextEdit() self._infoDocument.setReadOnly(True) self._infoDocument.setText(NNMAModule.__doc__) self._infoDocument.hide() self.mainLayout.addWidget(self._infoDocument)
def __init__(self, parent): ''' Constructor ''' qt.QToolBar.__init__(self, parent) self.setIconSize(qt.QSize(25, 25)) self.zoomAutoAction = qt.QAction(qt.QIcon('Icones/autozoom.png'), '&Zoom', self) self.zoomAutoAction.setStatusTip('Fit window') self.zoomAutoAction.setCheckable(False) self.zoomAutoAction.setChecked(False) self.zoomActive = False qt.QObject.connect(self.zoomAutoAction, qt.SIGNAL("triggered()"), self.zoomAutoPushed) self.zone1Action = qt.QAction(qt.QIcon('Icones/zone.png'), '&ZoneSelection', self) self.zone1Action.setStatusTip('Select Zone') self.zone1Action.setCheckable(True) self.zone1Action.setChecked(False) qt.QObject.connect(self.zone1Action, qt.SIGNAL("triggered()"), self.zone1Selected) self.pointerAction = qt.QAction(qt.QIcon('Icones/cursor.png'), '&PointerSelection', self) self.pointerAction.setStatusTip('Select Pointer') self.pointerAction.setCheckable(True) self.pointerAction.setChecked(True) qt.QObject.connect(self.pointerAction, qt.SIGNAL("triggered()"), self.pointerSelected) self.drawingAction = qt.QAction(qt.QIcon('Icones/circle18.png'), '&DrawingSelection', self) self.drawingAction.setStatusTip('Select Drawing') self.drawingAction.setCheckable(True) self.drawingAction.setChecked(False) qt.QObject.connect(self.drawingAction, qt.SIGNAL("triggered()"), self.drawingSelected) self.polygonAction = qt.QAction(qt.QIcon('Icones/polygon.png'), '&PolygonSelection', self) self.polygonAction.setStatusTip('Select Polygone') self.polygonAction.setCheckable(True) self.polygonAction.setChecked(False) qt.QObject.connect(self.polygonAction, qt.SIGNAL("triggered()"), self.polygonSelected) self.pointRemoveAction = qt.QAction(qt.QIcon('Icones/remove.png'), '&DeletePoint', self) self.pointRemoveAction.setStatusTip('remove Point') self.pointRemoveAction.setCheckable(False) self.pointRemoveAction.setChecked(False) self.radius = LabelEditAndButton(True, "", True, str(100), False) self.doubleSlider = DoubleSlider(self) self.setMinAndMaxToolBar(0, 0) self.doubleSlider.setMaximumWidth(800) self.colorChoice = qt.QComboBox() self.colormapList = [] colorMapDefault = "GrayLevel", range(256), range(256), range(256) self.colormapList.append(colorMapDefault) self.colorChoice.addItems([self.colormapList[0][0]]) self.addColorMap('Jet', './jet_color.txt') self.addAction(self.zoomAutoAction) self.addSeparator() self.addAction(self.pointerAction) self.addAction(self.zone1Action) self.addAction(self.drawingAction) self.ActionRadius = self.addWidget(self.radius) self.ActionRadius.setVisible(False) self.addAction(self.polygonAction) self.addAction(self.pointRemoveAction) self.addWidget(self.doubleSlider) self.addWidget(self.colorChoice)
def createEditor(self): self.cb = qt.QComboBox(self.table.viewport()) self.cb.insertStringList(self.list) self.cb.connect(self.cb, qt.SIGNAL("activated(int)"), self.mySlot) return self.cb
def build(self): self.mainLayout = qt.QGridLayout(self) self.mainLayout.setMargin(11) self.mainLayout.setSpacing(6) #strip algorithm self.stripComboLabel = qt.QLabel(self) self.stripComboLabel.setText( "Non-analytical (or estimation) background algorithm") self.stripCombo = qt.QComboBox(self) self.stripCombo.addItem(str("Strip")) self.stripCombo.addItem(str("SNIP")) self.connect(self.stripCombo, qt.SIGNAL("activated(int)"), self._stripComboActivated) #SNIP width self.snipWidthLabel = qt.QLabel(self) self.snipWidthLabel.setText(str("SNIP Background Width")) self.snipWidthSpin = qt.QSpinBox(self) self.snipWidthSpin.setMaximum(300) self.snipWidthSpin.setMinimum(0) self.connect(self.snipWidthSpin, qt.SIGNAL('valueChanged(int)'), self._emitSignal) #Strip width self.stripWidthLabel = qt.QLabel(self) self.stripWidthLabel.setText(str("Strip Background Width")) self.stripWidthSpin = qt.QSpinBox(self) self.stripWidthSpin.setMaximum(100) self.stripWidthSpin.setMinimum(1) self.connect(self.stripWidthSpin, qt.SIGNAL('valueChanged(int)'), self._emitSignal) #Strip iterations self.stripIterLabel = qt.QLabel(self) self.stripIterLabel.setText(str("Strip Background Iterations")) self.stripIterValue = qt.QLineEdit(self) validator = qt.QIntValidator(self.stripIterValue) self.stripIterValue._v = validator self.connect(self.stripIterValue, qt.SIGNAL('editingFinished()'), self._emitSignal) #Strip smoothing self.stripFilterLabel = qt.QLabel(self) self.stripFilterLabel.setText( str("Strip Background Smoothing Width (Savitsky-Golay)")) self.stripFilterSpin = qt.QSpinBox(self) self.stripFilterSpin.setMinimum(1) self.stripFilterSpin.setMaximum(40) self.stripFilterSpin.setSingleStep(2) self.connect(self.stripFilterSpin, qt.SIGNAL('valueChanged(int)'), self._emitSignal) #anchors self.anchorsContainer = qt.QWidget(self) anchorsContainerLayout = qt.QHBoxLayout(self.anchorsContainer) anchorsContainerLayout.setMargin(0) anchorsContainerLayout.setSpacing(2) self.stripAnchorsFlagCheck = qt.QCheckBox(self.anchorsContainer) self.stripAnchorsFlagCheck.setText(str("Strip Background use Anchors")) self.connect(self.stripAnchorsFlagCheck, qt.SIGNAL('stateChanged(int)'), self._emitSignal) anchorsContainerLayout.addWidget(self.stripAnchorsFlagCheck) #self.iterSpin = qt.QSpinBox(self) #self.iterSpin.setMinimum(1) maxnchannel = 16384 * 4 self.stripAnchorsList = [] for i in range(4): anchorSpin = qt.QSpinBox(self.anchorsContainer) anchorSpin.setMinimum(0) anchorSpin.setMaximum(maxnchannel) self.connect(anchorSpin, qt.SIGNAL('valueChanged(int)'), self._emitSignal) anchorsContainerLayout.addWidget(anchorSpin) self.stripAnchorsList.append(anchorSpin) self.mainLayout.setColumnStretch(0, 1) row = 0 self.mainLayout.addWidget(self.stripComboLabel, row, 0) self.mainLayout.addWidget(self.stripCombo, row, 4) row += 1 self.mainLayout.addWidget(self.snipWidthLabel, row, 0) self.mainLayout.addWidget(self.snipWidthSpin, row, 4) row += 1 self.mainLayout.addWidget(self.stripWidthLabel, row, 0) self.mainLayout.addWidget(self.stripWidthSpin, row, 4) row += 1 self.mainLayout.addWidget(self.stripIterLabel, row, 0) self.mainLayout.addWidget(self.stripIterValue, row, 4) row += 1 self.mainLayout.addWidget(self.stripFilterLabel, row, 0) self.mainLayout.addWidget(self.stripFilterSpin, row, 4) row += 1 self.mainLayout.addWidget(self.anchorsContainer, row, 0, 1, 5) self._stripComboActivated(0)
def __init__(self, parent=None, name=None, fl=0): if QTVERSION < '4.0.0': qt.QWidget.__init__(self, parent, name, fl) if name == None: self.setName("FitConfigGUI") self.setCaption(str("FitConfigGUI")) FitConfigGUILayout = qt.QHBoxLayout(self, 11, 6, "FitConfigGUILayout") Layout9 = qt.QHBoxLayout(None, 0, 6, "Layout9") Layout2 = qt.QGridLayout(None, 1, 1, 0, 6, "Layout2") else: qt.QWidget.__init__(self, parent) self.setWindowTitle(str("FitConfigGUI")) FitConfigGUILayout = qt.QHBoxLayout(self) FitConfigGUILayout.setMargin(11) FitConfigGUILayout.setSpacing(6) Layout9 = qt.QHBoxLayout(None) Layout9.setMargin(0) Layout9.setSpacing(6) Layout2 = qt.QGridLayout(None) Layout2.setMargin(0) Layout2.setSpacing(6) if QTVERSION < '4.0.0': self.BkgComBox = qt.QComboBox(0, self, "BkgComBox") self.BkgComBox.insertItem(str("Add Background")) else: self.BkgComBox = qt.QComboBox(self) self.BkgComBox.addItem(str("Add Background")) Layout2.addWidget(self.BkgComBox, 1, 1) self.BkgLabel = qt.QLabel(self) self.BkgLabel.setText(str("Background")) Layout2.addWidget(self.BkgLabel, 1, 0) if QTVERSION < '4.0.0': self.FunComBox = qt.QComboBox(0, self, "FunComBox") self.FunComBox.insertItem(str("Add Function(s)")) else: self.FunComBox = qt.QComboBox(self) self.FunComBox.addItem(str("Add Function(s)")) Layout2.addWidget(self.FunComBox, 0, 1) self.FunLabel = qt.QLabel(self) self.FunLabel.setText(str("Function")) Layout2.addWidget(self.FunLabel, 0, 0) Layout9.addLayout(Layout2) spacer = qt.QSpacerItem(20, 20, qt.QSizePolicy.Expanding, qt.QSizePolicy.Minimum) Layout9.addItem(spacer) if QTVERSION < '4.0.0': Layout6 = qt.QGridLayout(None, 1, 1, 0, 6, "Layout6") else: Layout6 = qt.QGridLayout(None) Layout6.setMargin(0) Layout6.setSpacing(6) self.WeightCheckBox = qt.QCheckBox(self) self.WeightCheckBox.setText(str("Weight")) Layout6.addWidget(self.WeightCheckBox, 0, 0) self.MCACheckBox = qt.QCheckBox(self) self.MCACheckBox.setText(str("MCA Mode")) Layout6.addWidget(self.MCACheckBox, 1, 0) Layout9.addLayout(Layout6) if QTVERSION < '4.0.0': Layout6_2 = qt.QGridLayout(None, 1, 1, 0, 6, "Layout6_2") else: Layout6_2 = qt.QGridLayout(None) Layout6_2.setMargin(0) Layout6_2.setSpacing(6) self.AutoFWHMCheckBox = qt.QCheckBox(self) self.AutoFWHMCheckBox.setText(str("Auto FWHM")) Layout6_2.addWidget(self.AutoFWHMCheckBox, 0, 0) self.AutoScalingCheckBox = qt.QCheckBox(self) self.AutoScalingCheckBox.setText(str("Auto Scaling")) Layout6_2.addWidget(self.AutoScalingCheckBox, 1, 0) Layout9.addLayout(Layout6_2) spacer_2 = qt.QSpacerItem(20, 20, qt.QSizePolicy.Expanding, qt.QSizePolicy.Minimum) Layout9.addItem(spacer_2) if QTVERSION < '4.0.0': Layout5 = qt.QGridLayout(None, 1, 1, 0, 6, "Layout5") else: Layout5 = qt.QGridLayout(None) Layout5.setMargin(0) Layout5.setSpacing(6) self.PrintPushButton = qt.QPushButton(self) self.PrintPushButton.setText(str("Print")) Layout5.addWidget(self.PrintPushButton, 1, 0) self.ConfigureButton = qt.QPushButton(self) self.ConfigureButton.setText(str("Configure")) Layout5.addWidget(self.ConfigureButton, 0, 0) Layout9.addLayout(Layout5) FitConfigGUILayout.addLayout(Layout9)