def __init__(self, parent=None):
        self._app = QtWidgets.QApplication.instance()
        if self._app is None:
            self._app = QtWidgets.QApplication([])

        self._web_engine = QtWebEngineWidgets.QWebEngineView(parent)
        self._page = self.DumpPage(self._web_engine)
        self._web_engine.setPage(self._page)
def launch_gui(def_project: Union[str, None]):
    app = QtWidgets.QApplication(sys.argv)
    window = CursorThemeMaker()
    window.show()

    if def_project is not None:
        window.load_from_path(def_project)

    app.exec_()
    @current_cursor.setter
    def current_cursor(self, value):
        self._viewer.current_cursor = value

    @property
    def label_text(self):
        return self._label.text()

    @label_text.setter
    def label_text(self, value):
        self._label.setText(value)

    @property
    def current_file(self):
        return self._current_file

    @current_file.setter
    def current_file(self, value):
        if (not isinstance(value, str)) and (value is not None):
            raise ValueError("The file path must be a string!!!")

        self._current_file = value


if __name__ == "__main__":
    app = QtWidgets.QApplication([])
    window = CursorSelectWidget(label_text="wait")
    window.show()
    app.exec_()
    print(window.current_cursor, window.current_file)