def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) # self.cancelButton = QtGui.QPushButton(self.tr("Cancel")) self.applyButton = QtGui.QPushButton(self.tr("Apply")) self.skipButton = QtGui.QPushButton(self.tr("Skip")) self.doneButton = QtGui.QPushButton(self.tr("Done")) self.doneButton.setEnabled(False) buttonLayout = QtGui.QHBoxLayout() buttonLayout.addWidget(self.skipButton) buttonLayout.addStretch(1) buttonLayout.addWidget(self.applyButton) buttonLayout.addWidget(self.doneButton) self.setLayout(buttonLayout)
def __init__(self, label, fileType, path=QtCore.QDir.homePath(), parent=None): QtGui.QWidget.__init__(self, parent) self.label = label self.fileType = fileType self.path = path self.label0 = QtGui.QLabel(label) self.label0.setFixedWidth(80) self.lineEdit0 = QtGui.QLineEdit() self.lineEdit0.setReadOnly(True) self.pushButton0 = QtGui.QPushButton('Browse') self.layout0 = QtGui.QHBoxLayout() self.layout0.addWidget(self.label0) self.layout0.addWidget(self.lineEdit0) self.layout0.addWidget(self.pushButton0) self.layout0.setContentsMargins(0, 0, 0, 0) self.layout0.setSpacing(1) self.setLayout(self.layout0) self.connect(self.pushButton0, QtCore.SIGNAL("clicked()"), self.fileBrowse)
def __init__(self, dProject, dProjRef, parent=None): QtGui.QWidget.__init__(self, parent) self.title = QtGui.QLabel( self.tr("<center><b>REACTIVITY BY REFERENCE</b></center>")) self.name = "Reactivity by Reference" self.toolID = 1 self.dProject = dProject self.dProjOut = deepcopy(dProject) self.dProjRef = dProjRef self.isToolApplied = False ### SCALE RX self.groupBox0 = scaleGroupBox("Scale RX") ### SCALE BG self.groupBox1 = scaleGroupBox("Scale BG") ### SCALE REACTIVITY self.groupBox2 = scaleGroupBox("Scale Reactivity") self.pushButton0 = QtGui.QPushButton('Reactivity') self.pushButton1 = QtGui.QPushButton('Peak Area') self.pushButton2 = QtGui.QPushButton('Data') layout3 = myGridLayout() layout3.addWidget(self.pushButton0, 1, 0) layout3.addWidget(self.pushButton1, 1, 1) layout3.addWidget(self.pushButton2, 1, 3) self.groupBox3 = QtGui.QGroupBox(self.tr('Select Plot Type')) self.groupBox3.setLayout(layout3) ### BUTTON BOX self.buttonBox = ToolButton() ## MAIN LAYOUT mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self.title) mainLayout.addWidget(self.groupBox0) mainLayout.addWidget(self.groupBox1) mainLayout.addWidget(self.groupBox2) mainLayout.addWidget(self.groupBox3) mainLayout.addStretch() mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout) self.isClickedApply = False
def __init__(self, dProject, parent=None): QtGui.QWidget.__init__(self, parent) self.title = QtGui.QLabel(self.tr("<center><b>SCALE</b></center>")) self.name = "Scale" self.toolID = 1 self.dProject = dProject self.dOutput = dProject['dData'].copy() self.label0 = {} self.doubleSpinBox0 = {} for key in self.dProject['chKeyRS']: self.label0[key] = QtGui.QLabel(key) self.doubleSpinBox0[key] = QtGui.QDoubleSpinBox() self.doubleSpinBox0[key].setRange(0.01, 100.00) self.doubleSpinBox0[key].setValue(1.00) self.doubleSpinBox0[key].setSingleStep(0.01) self.groupBox1 = QtGui.QGroupBox(self.tr('Enter Scale Factor')) vbox = QtGui.QGridLayout() vbox.addWidget(self.label0['RX'], 0, 0) vbox.addWidget(self.doubleSpinBox0['RX'], 0, 1) vbox.addWidget(self.label0['BG'], 1, 0) vbox.addWidget(self.doubleSpinBox0['BG'], 1, 1) vbox.addWidget(self.label0['RXS1'], 2, 0) vbox.addWidget(self.doubleSpinBox0['RXS1'], 2, 1) vbox.addWidget(self.label0['BGS1'], 3, 0) vbox.addWidget(self.doubleSpinBox0['BGS1'], 3, 1) if self.dProject['isSeq2']: vbox.addWidget(self.label0['RXS2'], 4, 0) vbox.addWidget(self.doubleSpinBox0['RXS2'], 4, 1) vbox.addWidget(self.label0['BGS2'], 5, 0) vbox.addWidget(self.doubleSpinBox0['BGS2'], 5, 1) vbox.setContentsMargins(0, 0, 0, 0) self.groupBox1.setLayout(vbox) self.pushButton0 = QtGui.QPushButton('Scale All to BG') self.connect(self.pushButton0, QtCore.SIGNAL("clicked()"), self.autoScale) ### Button Box self.buttonBox = ToolButton() ## Main Layout self.groupBoxROI = GroupBoxROI(self.dProject) mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self.title) mainLayout.addWidget(self.groupBox1) mainLayout.addWidget(self.pushButton0) mainLayout.addWidget(self.groupBoxROI.groupBox) mainLayout.addStretch() mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout) self.isToolApplied = False
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) # self.cancelButton = QtGui.QPushButton(self.tr("Cancel")) self.backButton = QtGui.QPushButton(self.tr("< &Back")) self.nextButton = QtGui.QPushButton(self.tr("Next >")) self.doneButton = QtGui.QPushButton(self.tr("&Done")) buttonLayout = QtGui.QHBoxLayout() buttonLayout.addStretch(1) # buttonLayout.addWidget(self.cancelButton) buttonLayout.addWidget(self.backButton) buttonLayout.addWidget(self.nextButton) buttonLayout.addWidget(self.doneButton) self.mainLayout = QtGui.QVBoxLayout() self.mainLayout.addLayout(buttonLayout) self.setLayout(self.mainLayout)
def __init__(self, dProject, dProjRef, parent=None): QtGui.QWidget.__init__(self, parent) self.title = QtGui.QLabel( self.tr("<center><b>AUTOMATED ANALYSIS BY REFERENCE</b></center>")) self.name = "Automated by Reference" self.toolID = 1 self.dProject = dProject self.dProjOut = deepcopy(dProject) self.dProjRef = dProjRef self.isToolApplied = False self.checkBox0 = QtGui.QCheckBox("Tools") self.checkBox1 = QtGui.QCheckBox("Sequence Alignment") self.checkBox0.setChecked(True) self.checkBox1.setChecked(True) self.pushButton0 = QtGui.QPushButton('Reactivity') self.pushButton1 = QtGui.QPushButton('Peak Area') self.pushButton2 = QtGui.QPushButton('Data') layout3 = myGridLayout() layout3.addWidget(self.checkBox0, 1, 0, 1, 3) layout3.addWidget(self.checkBox1, 2, 0, 1, 3) layout3.addWidget(self.pushButton0, 3, 0) layout3.addWidget(self.pushButton1, 3, 1) layout3.addWidget(self.pushButton2, 3, 3) self.groupBox3 = QtGui.QGroupBox(self.tr('Select Plot Type')) self.groupBox3.setLayout(layout3) ### BUTTON BOX self.buttonBox = ToolButton() ## MAIN LAYOUT mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self.title) mainLayout.addWidget(self.groupBox3) mainLayout.addStretch() mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout)
def __init__(self, dProject, parent=None): QtGui.QWidget.__init__(self, parent) self.labelTitle = QtGui.QLabel( self.tr("<center><b>REPORT</b></center>")) self.name = "Report" self.toolID = 1 self.dProject = dProject self.dReport = createDReport(dProject) for key in self.dReport.keys(): self.dReport[key] = self.dReport[key][::-1] self.saveTextButton = QtGui.QPushButton("Save as Text") self.connect(self.saveTextButton, QtCore.SIGNAL('clicked()'), self.saveTextReport) self.layout0 = QtGui.QHBoxLayout() self.layout0.addWidget(self.saveTextButton) self.layout0.addStretch() N = len(self.dReport['seqNum']) self.table = QtGui.QTableWidget() self.table.setRowCount(N) self.table.setColumnCount(len(reportKeys)) self.table.setHorizontalHeaderLabels(reportKeys) self.table.setSelectionBehavior(QtGui.QTableWidget.SelectRows) self.table.setSelectionMode(QtGui.QTableWidget.SingleSelection) self.font = QtGui.QFont() self.font.setPointSize(9) self.table.setFont(self.font) for i in range(N): for key in reportKeys: if key == 'seqRNA': item = QtGui.QTableWidgetItem(self.dReport[key][i]) elif key in ['seqNum', 'posSeq', 'posRX', 'posBG']: item = QtGui.QTableWidgetItem("%d" % self.dReport[key][i]) else: item = QtGui.QTableWidgetItem("%.2f" % self.dReport[key][i]) col = reportKeys.index(key) self.table.setItem(int(i), int(col), item) self.table.resizeColumnsToContents() self.table.resizeRowsToContents() mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self.labelTitle) mainLayout.addWidget(self.table) mainLayout.addLayout(self.layout0) self.setLayout(mainLayout)
def __init__(self, dProject, parent=None): QtGui.QWidget.__init__(self, parent) self.labelTitle = QtGui.QLabel( self.tr("<center><b>MANUAL SIGNAL ALGINMENT</b></center>")) self.name = "Manual Signal Alignment" self.toolID = 1 self.dProject = dProject self.dProjOut = deepcopy(dProject) self.linkXR, self.linkXS = np.array([]), np.array([]) self.dataR, self.dataS = np.array([]), np.array([]) self.isToolApplied = False label0 = QtGui.QLabel('Reference Channel') self.comboBox0 = QtGui.QComboBox() self.comboBox0.addItems(dProject['chKeyRS']) label1 = QtGui.QLabel('Sample Channel') self.comboBox1 = QtGui.QComboBox() self.comboBox1.addItems(dProject['chKeyRS']) self.comboBox1.setCurrentIndex(1) layout0 = myGridLayout() layout0.addWidget(label0, 0, 0) layout0.addWidget(self.comboBox0, 0, 1) layout0.addWidget(label1, 1, 0) layout0.addWidget(self.comboBox1, 1, 1) self.groupBox0 = QtGui.QGroupBox("Select Channels") self.groupBox0.setLayout(layout0) self.groupBox0.setCheckable(True) self.button0 = QtGui.QPushButton('Modify Matched Peaks') self.button0.setEnabled(False) self.buttonBox = ToolButton() self.applyChannel = ApplyChannel(self.dProject) mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self.labelTitle) mainLayout.addWidget(self.groupBox0) mainLayout.addWidget(self.button0) mainLayout.addStretch() mainLayout.addWidget(self.applyChannel.groupBox) mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout) self.refKey = 'RXS1' self.sampleKey = 'BGS1'
def __init__(self, label, parent=None): QtGui.QWidget.__init__(self, parent) type = 'file' # dir, save, label0 = QtGui.QLabel(label) self.lineEdit0 = QtGui.QLineEdit() self.lineEdit0.setReadOnly(True) self.pushButton0 = QtGui.QPushButton('Browse') self.connect(self.pushButton0, QtCore.SIGNAL("clicked()"), self.dirBrowse0) layout0 = myGridLayout() layout0.addWidget(label0, 1, 0) layout0.addWidget(self.lineEdit0, 1, 1) layout0.addWidget(self.pushButton0, 1, 2) self.setLayout(layout0)
def __init__(self, dVar, chKeyRS, parent=None): super(DlgLineProps, self).__init__(parent) self.setAttribute(QtCore.Qt.WA_DeleteOnClose) self.setModal(False) self.labelTitle = QtGui.QLabel( self.tr("<center><b>CHANNEL ATTRIBUTES</b></center>")) self.name = "Channel Attributes" self.toolID = 3 self.dVar = dVar.copy() self.chKeyRS = chKeyRS labels = ["Channel", "Color", "Line", "Marker", "Width"] self.label = {} self.checkBox0 = {} self.pushButton0 = {} self.comboBoxLineStyle = {} lineStyles = ["solid", "dashed", "dash_dot", "dotted"] self.lineStyles = ['-', '--', '-.', ':'] self.comboBoxMarkerStyle = {} markerStyles = [ "none", "point", "circle", "star", "square", "plus", "X", "diamond" ] self.markerStyles1 = ['', '.', 'o', '*', 's', '+', 'x', 'D'] self.doubleSpinBoxLW = {} for key in chKeyRS: self.checkBox0[key] = QtGui.QCheckBox(key) self.checkBox0[key].setChecked(self.dVar['lineVisible'][key]) self.pushButton0[key] = QtGui.QPushButton() self.pushButton0[key].setStyleSheet( "QWidget { background-color: %s }" % self.dVar['lineColor'][key]) self.comboBoxLineStyle[key] = QtGui.QComboBox() self.comboBoxLineStyle[key].addItems(lineStyles) self.comboBoxMarkerStyle[key] = QtGui.QComboBox() self.comboBoxMarkerStyle[key].addItems(markerStyles) self.doubleSpinBoxLW[key] = QtGui.QDoubleSpinBox() self.doubleSpinBoxLW[key].setValue(1.0) self.doubleSpinBoxLW[key].setSingleStep(0.1) layout0 = myGridLayout() for i in range(len(labels)): self.label[i] = QtGui.QLabel(labels[i]) layout0.addWidget(self.label[i], 0, i) for key in chKeyRS: #self.dChKeys['RS']: index = chKeyRS.index(key) + 1 layout0.addWidget(self.checkBox0[key], index, 0) layout0.addWidget(self.pushButton0[key], index, 1) layout0.addWidget(self.comboBoxLineStyle[key], index, 2) layout0.addWidget(self.comboBoxMarkerStyle[key], index, 3) layout0.addWidget(self.doubleSpinBoxLW[key], index, 4) self.buttonBox = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Close) self.connect(self.pushButton0['RX'], QtCore.SIGNAL("clicked()"), self.changeColorRX) self.connect(self.pushButton0['RXS1'], QtCore.SIGNAL("clicked()"), self.changeColorRXS1) self.connect(self.pushButton0['BG'], QtCore.SIGNAL("clicked()"), self.changeColorBG) self.connect(self.pushButton0['BGS1'], QtCore.SIGNAL("clicked()"), self.changeColorBGS1) if 'RXS2' in chKeyRS: self.connect(self.pushButton0['RXS2'], QtCore.SIGNAL("clicked()"), self.changeColorRXS2) if 'BGS2' in chKeyRS: self.connect(self.pushButton0['BGS2'], QtCore.SIGNAL("clicked()"), self.changeColorBGS2) self.connect(self.buttonBox.button(QtGui.QDialogButtonBox.Apply), QtCore.SIGNAL("clicked()"), self.apply) self.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), self.reject) mainLayout = QtGui.QVBoxLayout() mainLayout.addLayout(layout0) mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout) self.title = "Channel Attributes" self.setWindowTitle(self.title)
def __init__(self, dProject,dProjRef,parent=None): QtGui.QWidget.__init__(self, parent) self.labelTitle = QtGui.QLabel(self.tr("<center><b>REGION OF INTEREST</b></center>")) self.name="Region of Interest" self.toolID=1 self.hint = QtGui.QLabel(self.tr("HINT: Press Key 'F' button and click the axes to set From. " "Press Key 'T' button and click the axes to set To" )) self.hint.setWordWrap(True) self.font = QtGui.QFont() self.font.setPointSize(10) self.hint.setFont(self.font) self.dProject=dProject self.dProjRef=dProjRef self.dProjOut=deepcopy(dProject) self.isToolApplied=False self.roi={} for key in self.dProject['chKeyRS']: self.roi[key]=[0,len(self.dProject['dData'][key])] labelFrom = QtGui.QLabel("From ") labelTo = QtGui.QLabel("To ") labelPlus=QtGui.QLabel('(+) Reaction') self.spinBoxPlusFrom=QtGui.QSpinBox() self.spinBoxPlusTo=QtGui.QSpinBox() self.spinBoxPlusFrom.setRange(0,len(self.dProject['dData']['RX'])) self.spinBoxPlusTo.setRange(0,len(self.dProject['dData']['RX'])) self.spinBoxPlusTo.setValue(len(self.dProject['dData']['RX'])) labelMinus=QtGui.QLabel('(-) Reaction') self.spinBoxMinusFrom=QtGui.QSpinBox() self.spinBoxMinusTo=QtGui.QSpinBox() self.spinBoxMinusFrom.setRange(0,len(self.dProject['dData']['BG'])) self.spinBoxMinusTo.setRange(0,len(self.dProject['dData']['BG'])) self.spinBoxMinusTo.setValue(len(self.dProject['dData']['BG'])) layout0=myGridLayout() layout0.addWidget(labelFrom,0,1) layout0.addWidget(labelTo,0,2) layout0.addWidget(labelPlus,1,0) layout0.addWidget( self.spinBoxPlusFrom,1,1) layout0.addWidget( self.spinBoxPlusTo,1,2) layout0.addWidget(labelMinus,2,0) layout0.addWidget( self.spinBoxMinusFrom,2,1) layout0.addWidget( self.spinBoxMinusTo,2,2) self.groupBox0=QtGui.QGroupBox() self.groupBox0.setLayout(layout0) self.buttunAuto=QtGui.QPushButton('Auto ROI by Reference') self.connect(self.buttunAuto,QtCore.SIGNAL("clicked()"),self.autoFindROI) if not self.dProject['isRef']: self.buttunAuto.setEnabled(False) self.buttonBox = ToolButton() mainLayout=QtGui.QVBoxLayout() mainLayout.addWidget(self.labelTitle) mainLayout.addWidget(self.groupBox0) mainLayout.addWidget(self.buttunAuto) mainLayout.addWidget(self.hint) mainLayout.addStretch() mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout)
def __init__(self, dProject, dProjRef, parent=None): QtGui.QWidget.__init__(self, parent) self.title = QtGui.QLabel( self.tr("<center><b>SEQUENCE ALIGNMENT BY REFERENCE</b></center>")) self.name = "Sequence Alignment by Reference" self.toolID = 1 self.dProject = dProject self.dProjRef = dProjRef self.linkXR, self.linkXS = np.array([]), np.array([]) self.linkYR, self.linkYS = np.array([]), np.array([]) self.dataR, self.dataS = np.array([]), np.array([]) #### BY REFERENCE self.fileReadRef = DlgSelectFile( 'Ref. Proj.', "Reference Project (*.pyShape *.qushape)", self.dProject['dir']) if 'fNameRef' in self.dProject.keys(): self.fileReadRef.lineEdit0.setText(self.dProject['fNameRef']) self.connect(self.fileReadRef.pushButton0, QtCore.SIGNAL("clicked()"), self.changeRefFile) label10 = QtGui.QLabel("Ref. Channel") self.comboBox10 = QtGui.QComboBox() self.comboBox10.addItems(chKeysRS) self.comboBox10.setCurrentIndex(3) label11 = QtGui.QLabel("Sample Channel") self.comboBox11 = QtGui.QComboBox() self.comboBox11.addItems(chKeysRS) self.comboBox11.setCurrentIndex(3) layout0 = myGridLayout() layout0.addWidget(self.fileReadRef, 0, 0, 1, 2) layout0.addWidget(label10, 1, 0) layout0.addWidget(self.comboBox10, 1, 1) layout0.addWidget(label11, 2, 0) layout0.addWidget(self.comboBox11, 2, 1) self.groupBox0 = QtGui.QGroupBox(self.tr('Signal Alignment')) self.groupBox0.setLayout(layout0) self.groupBox0.setCheckable(True) labelRX = QtGui.QLabel('Scale Factor for RX') labelBG = QtGui.QLabel('Scale Factor for BG') self.spinBoxRX = QtGui.QDoubleSpinBox() self.spinBoxRX.setRange(0.01, 100.00) self.spinBoxRX.setValue(1.00) self.spinBoxRX.setSingleStep(0.01) self.spinBoxBG = QtGui.QDoubleSpinBox() self.spinBoxBG.setRange(0.01, 100.00) self.spinBoxBG.setValue(1.00) self.spinBoxBG.setSingleStep(0.01) self.checkBoxScale0 = QtGui.QCheckBox('Scale by windowing') layout1 = myGridLayout() layout1.addWidget(labelRX, 0, 0) layout1.addWidget(self.spinBoxRX, 0, 1) layout1.addWidget(labelBG, 1, 0) layout1.addWidget(self.spinBoxBG, 1, 1) layout1.addWidget(self.checkBoxScale0, 2, 0, 1, 2) self.groupBox1 = QtGui.QGroupBox(self.tr('Scale RX and BG')) self.groupBox1.setLayout(layout1) # self.groupBox1.setCheckable(True) # self.button0=QtGui.QPushButton('Modify Matched Peaks') # self.button0.setEnabled(False) self.button0 = peakMatchModifyButton() self.button1 = QtGui.QPushButton('Modify Peak Link by Reference') self.button1.setEnabled(False) self.button1.setWhatsThis( self. tr(" Check the accuracy of linked peaks" " by C\changing the peak position in the sample RX and BG peaks." " Press Key 'Shift' button and select a sample peak to change position. " )) text = self.tr( "HINT: When the matched peaks are modified; Key 'A' to add a Peak. Key 'D' to delete a Peak. Key 'Shift' to change position. " ) self.hint = hintLabel(text) ### BUTTON BOX self.buttonBox = ToolButton() ## MAIN LAYOUT mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self.title) mainLayout.addWidget(self.groupBox0) mainLayout.addWidget(self.button0) mainLayout.addWidget(self.button1) mainLayout.addWidget(self.hint) mainLayout.addStretch() mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout) self.isClickedModifyMatchedPeaks = True self.isToolApplied = False self.isMatchedPeaksChanged = True
def __init__(self, dProject, dProjRef, parent=None): QtGui.QWidget.__init__(self, parent) self.labelTitle = QtGui.QLabel( self.tr("<center><b>REACTIVITY</b></center>")) self.name = "Reactivity" self.toolID = 1 self.dProject = dProject self.dProjRef = dProjRef self.dProjOut = deepcopy(self.dProject) self.scaleFactor = 1 self.checkBox0 = QtGui.QCheckBox('Scale and Normalize with Reference') ## SCALE self.groupBox1 = scaleGroupBox("Scale BG") ## NORMALIZATION label0 = QtGui.QLabel('Outlier') label1 = QtGui.QLabel('Average') self.spinBox0 = QtGui.QDoubleSpinBox() self.spinBox1 = QtGui.QDoubleSpinBox() self.spinBox0.setRange(0, 9) self.spinBox1.setRange(0, 15) self.spinBox0.setSuffix("%") self.spinBox1.setSuffix("%") self.spinBox0.setSingleStep(0.25) self.spinBox1.setSingleStep(0.25) self.spinBox0.setValue(2.0) self.spinBox1.setValue(10.0) self.checkBox1 = QtGui.QCheckBox("Set Negative Value to Zero") layout2 = myHBoxLayout() layout2.addWidget(label0) layout2.addWidget(self.spinBox0) # layout2.addWidget(label1) # layout2.addWidget(self.spinBox1) layout21 = myVBoxLayout() # layout21.addWidget(self.radioNormCluster) layout21.addLayout(layout2) layout21.addWidget(self.checkBox1) self.groupBox2 = QtGui.QGroupBox(self.tr('Normalization')) self.groupBox2.setLayout(layout21) # self.groupBox2.setEnabled(False) self.radio3to5 = QtGui.QRadioButton("3' to 5'") self.radio5to3 = QtGui.QRadioButton("5' to 3'") self.radio3to5.setChecked(True) self.pushButton0 = QtGui.QPushButton('Reactivity') self.pushButton1 = QtGui.QPushButton('Peak Area') self.pushButton2 = QtGui.QPushButton('Data') layout3 = myGridLayout() layout3.addWidget(self.radio3to5, 0, 0) layout3.addWidget(self.radio5to3, 0, 1) layout3.addWidget(self.pushButton0, 1, 0) layout3.addWidget(self.pushButton1, 1, 1) layout3.addWidget(self.pushButton2, 1, 3) self.groupBox3 = QtGui.QGroupBox(self.tr('Select Plot Type')) self.groupBox3.setLayout(layout3) # self.groupBox3.setEnabled(False) self.buttonBox = ToolButton() mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self.labelTitle) mainLayout.addWidget(self.groupBox1) mainLayout.addWidget(self.groupBox2) mainLayout.addWidget(self.groupBox3) mainLayout.addStretch() mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout) self.isToolApplied = False