def get_qapp(): """ Return a QApplication instance, creating one if needed. """ from qtpy.QtWidgets import QApplication qapp = QApplication.instance() if qapp: return qapp qapp = QApplication(sys.argv) qapp.setApplicationName('MoView') qapp.setApplicationDisplayName('MoView') qapp.setApplicationVersion(__version__) return qapp
# Set Qt input method variable to use fcitx / ibus if config.fcitx / config.ibus is "True" if config.fcitx: os.environ["QT_IM_MODULE"] = "fcitx" elif config.ibus: os.environ["QT_IM_MODULE"] = "ibus" # Set Qt input method variable to use Qt virtual keyboards if config.virtualKeyboard is "True" if config.virtualKeyboard: os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard" # Start PySide2 gui app = QApplication(sys.argv) # Set application name app.setApplicationName("UniqueBible.app") app.setApplicationDisplayName("UniqueBible.app") # When application name is changed app.applicationNameChanged.connect(nameChanged) # Assign a function to save configurations when the app is closed. app.aboutToQuit.connect(exitApplication) # Apply window style if config.windowStyle and config.windowStyle in QStyleFactory.keys(): app.setStyle(config.windowStyle) # Apply theme style if config.qtMaterial and config.qtMaterialTheme: apply_stylesheet(app, theme=config.qtMaterialTheme) config.theme = "dark" if config.qtMaterialTheme.startswith("dark_") else "default" else: app.setPalette(Themes.getPalette()) # Active verse number colour #config.activeVerseNoColour = config.activeVerseNoColourDark if config.theme == "dark" else config.activeVerseNoColourLight
os.environ["QT_QPA_PLATFORM"] = "offscreen" if getattr(sys, 'frozen', False): application_path = os.path.dirname(sys.executable) elif __file__: application_path = os.path.dirname(__file__) else: application_path = "." logging.debug("Application path is {}".format(application_path)) os.chdir(application_path) sys.path.insert(0, os.path.abspath(MODULES_PATH)) sys.path.append(os.path.abspath(CLIENT_PATH)) QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps) QApplication.setAttribute(Qt.AA_EnableHighDpiScaling) QApplication.setQuitOnLastWindowClosed(False) app = QApplication(sys.argv) app.setApplicationName(__app_name__) app.setApplicationVersion(__version__) app.setApplicationDisplayName(__app_name__) app.setStyleSheet(qrainbowstyle.load_stylesheet(style="Oceanic")) font = app.font() font.setPointSize(9) app.setFont(font) m = Main(args) m.connect_log_signal(logger.install_signal_handler()) sys.exit(app.exec_())