def _parse_args(app): parser = qtcore.QCommandLineParser() parser.setApplicationDescription(yobr.__description__) parser.addHelpOption() log_lvl_opt = qtcore.QCommandLineOption('log-level', 'Log level', 'LVL', 'INFO') parser.addOption(log_lvl_opt) parser.addVersionOption() parser.addPositionalArgument('BR-ROOT-DIR', 'Buildroot root directory') parser.addPositionalArgument( 'BR-BUILD-DIR', 'Buildroot build directory (default: `BR-ROOT-DIR/output/build`)') parser.process(app) pos_args = parser.positionalArguments() if len(pos_args) not in (1, 2): raise RuntimeError('Expecting one or two positional arguments.') if len(pos_args) == 2: # specific build directory br_build_dir = pos_args[1] else: # default to `BR-ROOT-DIR/output/build` br_build_dir = os.path.join(pos_args[0], 'output', 'build') return _Args(pos_args[0], br_build_dir, parser.value(log_lvl_opt))
def get_tcp_port(app): parser = QtCore.QCommandLineParser() parser.addHelpOption() default_port = 1234 port_opt = QtCore.QCommandLineOption([ "p" , "port" ] , "Set TCP port fo remote488." , "TCP port" , str(default_port)) parser.addOption(port_opt) parser.process(app) try: port = int(parser.value(port_opt)) except ValueError: print("Invalid port, using default") port = default_port if 1 <= port <= 65535: return port else: print("Invalid port ({}), using default".format(port)) return default_port
def open_books_at_startup(self): # Last open books and command line books aren't being opened together # so that command line books are processed last and therefore retain focus # Open last... open books. # Then set the value to None for the next run if self.settings['last_open_books']: files_to_open = {i: None for i in self.settings['last_open_books']} self.open_files(files_to_open) else: self.settings['last_open_tab'] = None # Open input files if specified cl_parser = QtCore.QCommandLineParser() cl_parser.process(QtWidgets.qApp) my_args = cl_parser.positionalArguments() if my_args: file_list = [QtCore.QFileInfo(i).absoluteFilePath() for i in my_args] self.process_post_hoc_files(file_list, True)
def main(): QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps) QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling) app = QtWidgets.QApplication(sys.argv) app.setApplicationVersion(version.version) cmdline_parser = QtCore.QCommandLineParser() cmdline_parser.addHelpOption() cmdline_parser.addVersionOption() cmdline_parser.addPositionalArgument('pptable_file', "Powerplay table file") cmdline_parser.process(app) win = MainWindow() if cmdline_parser.positionalArguments(): win.load(cmdline_parser.positionalArguments()[0]) win.show() sys.exit(app.exec())
def open_books_at_startup(self): # Last open books and command line books aren't being opened together # so that command line books are processed last and therefore retain focus # Open last... open books. # Then set the value to None for the next run if self.settings['last_open_books']: files_to_open = {i: None for i in self.settings['last_open_books']} self.open_files(files_to_open) else: self.settings['last_open_tab'] = None # Open input files if specified cl_parser = QtCore.QCommandLineParser() cl_parser.process(QtWidgets.qApp) my_args = cl_parser.positionalArguments() if my_args: file_list = [ QtCore.QFileInfo(i).absoluteFilePath() for i in my_args ] books = sorter.BookSorter(file_list, ('addition', 'manual'), self.database_path, self.settings['auto_tags'], self.temp_dir.path()) parsed_books = books.initiate_threads() if not parsed_books: return database.DatabaseFunctions( self.database_path).add_to_database(parsed_books) self.lib_ref.generate_model('addition', parsed_books, True) file_dict = { QtCore.QFileInfo(i).absoluteFilePath(): None for i in my_args } self.open_files(file_dict) self.move_on()
def main(): "Main entry point of application" app = QtWidgets.QApplication(sys.argv) app.setOrganizationName("Accounting") app.setOrganizationDomain("accounting.com") app.setApplicationName("Accounting") app.setApplicationVersion("1.0") parser = QtCore.QCommandLineParser() parser.setApplicationDescription("Double accounting application") parser.addHelpOption() parser.addVersionOption() loadDbOption = QtCore.QCommandLineOption( "db", "Load selected database on startup", "PATH") loadDbOption.setDefaultValue("") parser.addOption(loadDbOption) parser.process(app) wnd = MainWindow(dbPath=parser.value(loadDbOption)) return app.exec_()
def main(): if "--no-gui" in sys.argv: application = QCoreApplication(sys.argv) gui_mode = False else: application = QApplication(sys.argv) application.setQuitOnLastWindowClosed(False) gui_mode = True application.setApplicationName(APP_NAME) application.setApplicationVersion(APP_VERSION) translator = QtCore.QTranslator(application) translator.load(QtCore.QLocale().name(), directory=TRANSLATIONS_DIR) application.installTranslator(translator) parser = QtCore.QCommandLineParser() parser.setApplicationDescription(APP_DESCRIPTION) parser.addHelpOption() parser.addVersionOption() config_dir = os.path.join(os.path.expanduser("~"), ".config", "keyboard-mapper") config_dir_option = QtCore.QCommandLineOption( ["c", "config-dir"], "Path to the config dir (default: {})".format(config_dir), defaultValue=config_dir) parser.addOption(config_dir_option) hidden_option = QtCore.QCommandLineOption(["H", "hidden"], "Start hidden") parser.addOption(hidden_option) parser.addOption(QtCore.QCommandLineOption(["no-gui"], "Start without GUI")) parser.process(application) config_dir = parser.value(config_dir_option) if not os.path.isdir(config_dir): os.mkdir(config_dir) Config.filename = os.path.join(config_dir, "config.ini") Config.load() if gui_mode: application.setWindowIcon( QtGui.QIcon( os.path.join(ICONS_DIR, "appicon-{}.png".format(Config.icons)))) if Config.single_instance: user_run_dir = os.path.join("var", "run", "user", str(os.getuid())) if os.path.exists(user_run_dir): lock_file = os.path.join(user_run_dir, "keyboard-mapper.lock") else: lock_file = os.path.join(config_dir, "app.lock") lock = FileLock(lock_file, timeout=1) try: lock.acquire() except Timeout: message = translate("main", "Keyboard Mapper is already running!") if gui_mode: QtWidgets.QMessageBox.critical(None, APP_NAME, message) else: print(message) sys.exit(1) shortcuts_file = os.path.join(config_dir, "shortcuts.yaml") legacy_shortcuts_file = os.path.join(config_dir, "shortcuts.ini") shortcuts = Shortcuts(shortcuts_file) if os.path.exists( legacy_shortcuts_file) and not os.path.exists(shortcuts_file): if len(Config.input_devices): shortcuts.load_legacy(legacy_shortcuts_file, Config.input_devices[0]) try: shortcuts.load() except Exception as exception: message = translate("main", "Unable to load shortcuts from config file!" ) + "\n\n" + str(exception) if gui_mode: if QtWidgets.QMessageBox.critical(None, APP_NAME, message, QtWidgets.QMessageBox.Close, QtWidgets.QMessageBox.Ignore ) == QtWidgets.QMessageBox.Close: sys.exit(1) else: print(message) sys.exit(1) key_listener_manager = KeyListenerManager(DEVICES_BASE_DIR, shortcuts) key_listener_manager.set_device_files(Config.input_devices) if gui_mode: main_window = MainWindow(shortcuts, key_listener_manager) if not parser.isSet(hidden_option): main_window.show() try: exit_code = application.exec_() finally: shortcuts.save() sys.exit(exit_code) else: print("Listening for keyboard events") try: while True: time.sleep(1) except KeyboardInterrupt: pass key_listener_manager.stop_threads() shortcuts.save()
return (result if result.isValid() else QtCore.QUrl.fromUserInput("about:blank")) else: return QtCore.QUrl.fromUserInput("about:blank") import qml_rc if __name__ == "__main__": import sys app = QtGui.QGuiApplication(sys.argv) QtGui.QGuiApplication.setApplicationDisplayName( QtCore.QCoreApplication.translate("main", "QtWebView Example")) parser = QtCore.QCommandLineParser() QtCore.QCoreApplication.setApplicationVersion(QtCore.QT_VERSION_STR) parser.setApplicationDescription( QtGui.QGuiApplication.applicationDisplayName()) parser.addHelpOption() parser.addVersionOption() parser.addPositionalArgument("url", "The initial URL to open.") arguments = app.arguments() parser.process(arguments) initialUrl = (parser.positionalArguments()[0] if parser.positionalArguments() else "https://www.qt.io") engine = QtQml.QQmlApplicationEngine() context = engine.rootContext() context.setContextProperty("utils", Utils(engine)) context.setContextProperty("initialUrl", Utils.fromUserInput(initialUrl))