def main(qtbot): from qtpy import QtWidgets from pymodaq.dashboard import DashBoard from pymodaq.daq_scan import DAQ_Scan from pymodaq.daq_utils import gui_utils as gutils win = QtWidgets.QMainWindow() area = pymodaq.daq_utils.gui_utils.dock.DockArea() win.setCentralWidget(area) win.resize(1000, 500) win.setWindowTitle('PyMoDAQ Dashboard') dashboard = DashBoard(area) file = Path(get_set_preset_path()).joinpath( f"{config('presets', 'default_preset_for_scan')}.xml") dashboard.set_preset_mode(file) winscan = QtWidgets.QMainWindow() areascan = pymodaq.daq_utils.gui_utils.dock.DockArea() win.setCentralWidget(area) daq_scan = DAQ_Scan(dockarea=areascan, dashboard=dashboard, show_popup=False) daq_scan.status_signal.connect(dashboard.add_status) winscan.show() qtbot.addWidget(win) qtbot.addWidget(winscan) yield dashboard, daq_scan, win win.close() winscan.close()
def main(xmlfile): from pymodaq.dashboard import DashBoard from pymodaq.daq_utils.config import get_set_preset_path from pymodaq.daq_utils import gui_utils as gutils from pathlib import Path from qtpy import QtWidgets from pymodaq.pid.pid_controller import DAQ_PID import sys app = QtWidgets.QApplication(sys.argv) win = QtWidgets.QMainWindow() area = DockArea() win.setCentralWidget(area) win.resize(1000, 500) win.setWindowTitle('PyMoDAQ Dashboard') dashboard = DashBoard(area) file = Path(get_set_preset_path()).joinpath(xmlfile) if file.exists(): dashboard.set_preset_mode(file) # prog.load_scan_module() pid_area = DockArea() pid_window = QtWidgets.QMainWindow() pid_window.setCentralWidget(pid_area) prog = DAQ_PID(pid_area) pid_window.show() pid_window.setWindowTitle('PidController') prog.set_module_manager(dashboard.detector_modules, dashboard.actuators_modules) QtWidgets.QApplication.processEvents() else: msgBox = QtWidgets.QMessageBox() msgBox.setText( f"The default file specified in the configuration file does not exists!\n" f"{file}\n" f"Impossible to load the DAQ_PID Module") msgBox.setStandardButtons(msgBox.Ok) ret = msgBox.exec() sys.exit(app.exec_())
def main(): import sys from pathlib import Path app = QtWidgets.QApplication(sys.argv) from pymodaq.dashboard import DashBoard win = QtWidgets.QMainWindow() area = DockArea() win.setCentralWidget(area) win.resize(1000, 500) win.setWindowTitle('PyMoDAQ Dashboard') dash = DashBoard(area) file = Path(get_set_preset_path()).joinpath( f"{config('presets', 'default_preset_for_scan')}.xml") if file.exists(): dash.set_preset_mode(file) dash.load_scan_module() mainwindow = QtWidgets.QMainWindow() dockarea = DockArea() mainwindow.setCentralWidget(dockarea) prog = NonLinearScanner(dockarea) QtWidgets.QApplication.processEvents() prog.positions_signal.connect( dash.scan_module.scanner.update_tabular_positions) mainwindow.show() sys.exit(app.exec_())
def main(): from pymodaq.dashboard import DashBoard from pymodaq.daq_utils.daq_utils import load_config, get_set_preset_path from pathlib import Path config = load_config() app = QtWidgets.QApplication(sys.argv) win = QtWidgets.QMainWindow() area = gutils.DockArea() win.setCentralWidget(area) win.resize(1000, 500) win.setWindowTitle('PyMoDAQ Dashboard') # win.setVisible(False) prog = DashBoard(area) file = Path(get_set_preset_path()).joinpath(f"{config['presets']['default_preset_for_logger']}.xml") if file.exists(): prog.set_preset_mode(file) prog.load_log_module() else: msgBox = QtWidgets.QMessageBox() msgBox.setText(f"The default file specified in the configuration file does not exists!\n" f"{file}\n" f"Impossible to load the Logger Module") msgBox.setStandardButtons(msgBox.Ok) ret = msgBox.exec() sys.exit(app.exec_())
def main(): from pymodaq.daq_utils.daq_utils import get_set_preset_path from pymodaq.daq_utils.gui_utils import DockArea from pathlib import Path from pymodaq.dashboard import DashBoard app = QtWidgets.QApplication(sys.argv) win = QtWidgets.QMainWindow() area = DockArea() win.setCentralWidget(area) win.resize(1000, 500) win.setWindowTitle('PyMoDAQ Dashboard') dashboard = DashBoard(area) file = Path(get_set_preset_path()).joinpath("microMOKE.xml") if not file.exists(): file = Path(get_set_preset_path()).joinpath("MokeMicro_Mock.xml") if file.exists(): dashboard.set_preset_mode(file) mm_area = DockArea() mm_window = QtWidgets.QMainWindow() mm_window.setCentralWidget(mm_area) micromoke = MicroMOKE(mm_area, dashboard) mm_window.show() mm_window.setWindowTitle('MicroMOKE') QtWidgets.QApplication.processEvents() else: messagebox( severity='warning', title=f"Impossible to load the DAQ_Scan Module", text= f"The default file specified in the configuration file does not exists!\n" f"{file}\n") sys.exit(app.exec_())
def test_main_setfilepreset_quit(self, init_qt): qtbot = init_qt from qtpy import QtWidgets from pymodaq.dashboard import DashBoard from pymodaq.daq_utils import gui_utils as gutils win = QtWidgets.QMainWindow() qtbot.addWidget(win) area = pymodaq.daq_utils.gui_utils.dock.DockArea() win.setCentralWidget(area) win.resize(1000, 500) win.setWindowTitle('PyMoDAQ Dashboard') dashboard = DashBoard(area) file = preset_path.joinpath( f"{config('presets', 'default_preset_for_scan')}.xml") dashboard.set_preset_mode(file) dashboard.quit_fun()
def set_dashboard(self): params = [ { 'title': 'Spectro Settings:', 'name': 'spectro_settings', 'type': 'group', 'children': [ { 'title': 'Is calibrated?', 'name': 'iscalibrated', 'type': 'bool', 'value': False, 'tooltip': 'Whether the selected plugin has internal frequency calibration or not.' }, { 'title': 'Movable?', 'name': 'ismovable', 'type': 'bool', 'value': False, 'tooltip': 'Whether the selected plugin has a functionality to change its central frequency: as a movable grating' ' for instance.' }, { 'title': 'Laser selectable?', 'name': 'laser_selectable', 'type': 'bool', 'value': False, 'tooltip': 'Whether the selected plugin has a functionality to change its excitation ray' }, { 'title': 'Laser ray:', 'name': 'laser_ray', 'type': 'list', 'value': '', 'show_pb': True, 'tooltip': 'List of settable laser rays (not manual ones)' }, ] }, ] dashboard = DashBoard(self.dockarea.addTempArea()) dashboard.set_preset_path(spectro_path) options = [ dict(path='saving_options', options_dict=dict(visible=False)), dict(path='use_pid', options_dict=dict(visible=False)), dict(path='Moves', options_dict=dict(visible=False)) ] dashboard.set_extra_preset_params(params, options) dashboard.dockarea.window().setVisible(False) return dashboard
self.logger.flush() def start_logging(self): try: self.modules_manager.connect_detectors( slot=self.do_save_continuous) self.stop_logging_flag = False self.status_sig.emit(["Update_Status", "Acquisition has started"]) except Exception as e: logger.exception(str(e)) if __name__ == '__main__': from pymodaq.dashboard import DashBoard app = QtWidgets.QApplication(sys.argv) win = QtWidgets.QMainWindow() area = gutils.DockArea() win.setCentralWidget(area) win.resize(1000, 500) win.setWindowTitle('PyMoDAQ Dashboard') # win.setVisible(False) prog = DashBoard(area) prog.set_preset_mode( 'C:\\Users\\weber\\pymodaq_local\\preset_configs\\preset_default.xml') # QThread.msleep(4000) prog.load_log_module() sys.exit(app.exec_())