def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.mw = Ui_MainWindow() self.mw.setupUi(self) self.filename = None self.channels = [] self.intwin = [None, None] self.mw.button_load.clicked.connect(self.load) self.mw.button_generate.clicked.connect(self.generate_spec) self.mw.button_view.clicked.connect(self.view) self.mw.line_lower.textEdited.connect(self.edit_lower) self.mw.line_upper.textEdited.connect(self.edit_upper) self.mw.actionAbout.triggered.connect(self.about)
class MyWindow(QtGui.QMainWindow): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.mw = Ui_MainWindow() self.mw.setupUi(self) self.filename = None self.channels = [] self.intwin = [None, None] self.mw.button_load.clicked.connect(self.load) self.mw.button_generate.clicked.connect(self.generate_spec) self.mw.button_view.clicked.connect(self.view) self.mw.line_lower.textEdited.connect(self.edit_lower) self.mw.line_upper.textEdited.connect(self.edit_upper) self.mw.actionAbout.triggered.connect(self.about) def load(self): fd = QtGui.QFileDialog(self) fn = str(fd.getOpenFileName()) channels = read_drs.get_n_channels(fn) if len(channels) < 1: return self.filename = fn self.channels = channels self.mw.comboBox.clear() for channel in self.channels: self.mw.comboBox.addItem(channel) self.mw.button_view.setEnabled(True) self.mw.label.setText("Loaded '" + self.filename.split('/')[-1] + "'.") self.mw.button_generate.setEnabled(False) self.check_win() def view(self): view_channel(self.filename, len(self.channels), str(self.mw.comboBox.currentText())) def edit_lower(self): if str(self.mw.line_lower.displayText()).isdigit(): self.intwin[0] = int(self.mw.line_lower.displayText()) else: self.mw.line_lower.setText(str(self.intwin[0])) self.check_win() def edit_upper(self): if str(self.mw.line_lower.displayText()).isdigit(): self.intwin[1] = int(self.mw.line_upper.displayText()) else: self.mw.line_lower.setText(str(self.intwin[1])) self.check_win() def check_win(self): if None not in self.intwin and self.filename: self.mw.button_generate.setEnabled(True) def about(self): txt = "Helper program to read spectra from drs4(v5) data.\n" +\ "For questions improvements mail @" +\ "*****@*****.**" +\ "\n\n Tobias Jammer 2015" QtGui.QMessageBox.about(self, 'About Panel Spetrum Helper', txt) def generate_spec(self): channel = str(self.mw.comboBox.currentText()) spec = read_drs.base_test(self.filename, self.intwin, nchannels=len(self.channels), chnl=''.join(('c', channel))) plt.figure() plt.hold(True) plt.plot(spec[1][:-1], spec[0]) plt.title(', '.join((self.filename.split('/')[-1], 'channel {}'.format(channel)))) plt.show()