diff --git a/Python_script/climate-lab-gui.py b/Python_script/climate-lab-gui.py index 2ec5fc11beb02c026e0859e065bc5d7bfa8841ec..849d0fec2de2147523826b6b270ab0290bc939c1 100755 --- a/Python_script/climate-lab-gui.py +++ b/Python_script/climate-lab-gui.py @@ -82,6 +82,20 @@ class TestStandMainWindow(QMainWindow): self.stopButton.setEnabled(True) self.qt_app.processEvents(); + p = mp.Process(target=self.do_measurement_impl) + p.start() + while p.is_alive(): + time.sleep(0.1) + self.qt_app.processEvents(); + p.join() + + self.runSettingsLayout.setEnabled(True) + self.startButton.setEnabled(True) + self.stopButton.setEnabled(False) + + + #the part that is started in a separate process + def do_measurement_impl(self): os.chdir(self.start_dir) with open('test_stand_parameter.json', 'r') as f: config_data = json.load(f) @@ -96,7 +110,6 @@ class TestStandMainWindow(QMainWindow): output_basename = self.baseName.text() if not self.check_and_change_dir(config_data['data_folder'] + '/' + output_basename): - self.setEnabled(True) return meas = None @@ -156,10 +169,6 @@ class TestStandMainWindow(QMainWindow): if meas is not None: meas.chamber.close() meas.ext_sensors.close() - - self.runSettingsLayout.setEnabled(True) - self.startButton.setEnabled(True) - self.stopButton.setEnabled(False) if __name__ == '__main__':