Source code for silq.gui

import threading
import sys
from PyQt5.QtWidgets import QApplication


[docs]def start_gui(window, gui_name, use_thread=True, *args, **kwargs): if use_thread: if any(t.name == gui_name for t in threading.enumerate()): raise RuntimeError(f'GUI {gui_name} already exists. Exiting') t = threading.Thread(target=start_gui, name=gui_name, args=(window, gui_name, *args), kwargs={'use_thread': False, **kwargs}) t.start() return t else: qApp = QApplication(sys.argv) aw = window(*args, **kwargs) aw.show() qApp.exec_() return qApp