def _ensureQApplication(): if not QApplication.instance(): # Force environment to make sure Qt uses suitable theming and UX. os.environ["QT_PLATFORM_PLUGIN"] = "kde" # For above settings to apply automatically we need to indicate that we # are inside a full KDE session. os.environ["KDE_FULL_SESSION"] = "TRUE" # We also need to indicate version as otherwise KDElibs3 compatibility # might kick in such as in QIconLoader.cpp:QString fallbackTheme. os.environ["KDE_SESSION_VERSION"] = "5" # Pretty much all of the above but for Qt5 os.environ["QT_QPA_PLATFORMTHEME"] = "kde" app = QApplication(["ubuntu-release-upgrader"]) # Try to load default Qt translations so we don't have to worry about # QStandardButton translations. # FIXME: make sure we dep on l10n translator = QTranslator(app) if type(PYQT_VERSION) == int: translator.load(QLocale.system(), 'qt', '_', '/usr/share/qt5/translations') else: translator.load(QLocale.system(), 'qt', '_', '/usr/share/qt4/translations') app.installTranslator(translator) return app return QApplication.instance()
def main(): global app # register representation factories baseRepresentationFactories.registerAllFactories() representationFactories.registerAllFactories() # initialize the app app = Application(sys.argv) app.setOrganizationName("TruFont") app.setOrganizationDomain("trufont.github.io") app.setApplicationName("TruFont") app.setApplicationVersion(__version__) app.setWindowIcon(QIcon(":app.png")) app.setAttribute(Qt.AA_UseHighDpiPixmaps, True) # Install stream redirection app.outputWindow = OutputWindow() # Exception handling sys.excepthook = exceptionCallback # Qt's translation for itself. May not be installed. qtTranslator = QTranslator() qtTranslator.load("qt_" + QLocale.system().name(), QLibraryInfo.location(QLibraryInfo.TranslationsPath)) app.installTranslator(qtTranslator) appTranslator = QTranslator() appTranslator.load("trufont_" + QLocale.system().name(), os.path.dirname(os.path.realpath(__file__)) + "/resources") app.installTranslator(appTranslator) # parse options and open fonts parser = QCommandLineParser() parser.setApplicationDescription(QApplication.translate( "Command-line parser", "The TruFont font editor.")) parser.addHelpOption() parser.addVersionOption() parser.addPositionalArgument(QApplication.translate( "Command-line parser", "files"), QApplication.translate( "Command-line parser", "The UFO files to open.")) parser.process(app) args = parser.positionalArguments() if not args: fontPath = None # maybe load recent file settings = QSettings() loadRecentFile = settings.value("misc/loadRecentFile", False, bool) if loadRecentFile: recentFiles = settings.value("core/recentFiles", [], type=str) if len(recentFiles) and os.path.exists(recentFiles[0]): fontPath = recentFiles[0] app.openFile(fontPath) # otherwise, create a new file if fontPath is None: app.newFile() else: for fontPath in args: app.openFile(fontPath) sys.exit(app.exec_())
def __formatDecimal(self, num): if self.settings['showGroupSeparator']: decStr = '{:,}'.format(num) if self.__groupSeparator() == QLocale.system().groupSeparator(): return decStr return decStr.replace(QLocale.system().groupSeparator(), self.__groupSeparator()) else: return '%d' % num
def get_lang(): if "locale" in legendaryConfig.get_config()["Legendary"]: logger.info("Found locale in Legendary config: " + legendaryConfig.get_config()["Legendary"]["locale"]) return legendaryConfig.get_config()["Legendary"]["locale"].split( "-")[0] else: logger.info("Found locale in system config: " + QLocale.system().name()) return QLocale.system().name()
def get_lang(): core = LegendaryCore() if "Legendary" in core.lgd.config.sections( ) and "locale" in core.lgd.config["Legendary"]: logger.info("Found locale in Legendary config: " + core.lgd.config.get("Legendary", "locale")) return core.lgd.config.get("Legendary", "locale").split("-")[0] else: logger.info("Found locale in system config: " + QLocale.system().name().split("_")[0]) return QLocale.system().name().split("_")[0]
def main(): # register representation factories representationFactories.registerAllFactories() # initialize the app app = Application(sys.argv) app.setOrganizationName("TruFont") app.setOrganizationDomain("trufont.github.io") app.setApplicationName("TruFont") app.setApplicationVersion(__version__) app.setWindowIcon(QIcon(":/resources/app.png")) # Qt's translation for itself. May not be installed. qtTranslator = QTranslator() qtTranslator.load("qt_" + QLocale.system().name(), QLibraryInfo.location(QLibraryInfo.TranslationsPath)) app.installTranslator(qtTranslator) appTranslator = QTranslator() appTranslator.load("trufont_" + QLocale.system().name(), os.path.dirname(os.path.realpath(__file__)) + "/resources") app.installTranslator(appTranslator) app.loadGlyphList() # parse options and open fonts parser = QCommandLineParser() parser.setApplicationDescription(QApplication.translate( "Command-line parser", "The TruFont font editor.")) parser.addHelpOption() parser.addVersionOption() parser.addPositionalArgument(QApplication.translate( "Command-line parser", "files"), QApplication.translate( "Command-line parser", "The UFO files to open.")) parser.process(app) args = parser.positionalArguments() if not len(args): fontPath = None # maybe load recent file settings = QSettings() loadRecentFile = settings.value("misc/loadRecentFile", False, bool) if loadRecentFile: recentFiles = settings.value("core/recentFiles", [], type=str) if len(recentFiles) and os.path.exists(recentFiles[0]): fontPath = recentFiles[0] app.openFile(fontPath) # otherwise, create a new file if fontPath is None: app.newFile() else: for fontPath in args: app.openFile(fontPath) sys.exit(app.exec_())
def _ensureQApplication(): if not QApplication.instance(): app = QApplication(["ubuntu-release-upgrader"]) # Try to load default Qt translations so we don't have to worry about # QStandardButton translations. # FIXME: make sure we dep on l10n translator = QTranslator(app) if type(PYQT_VERSION) == int: translator.load(QLocale.system(), 'qt', '_', '/usr/share/qt5/translations') else: translator.load(QLocale.system(), 'qt', '_', '/usr/share/qt4/translations') app.installTranslator(translator) return app return QApplication.instance()
def __createPageContextMenu(self, menu): """ Private method to populate the basic context menu. @param menu reference to the menu to be populated @type QMenu """ ## menu.addSeparator() menu.addAction( self.tr("Open native web"), lambda: QDesktopServices.openUrl(self.url()) ) ## language = QLocale.system().name() if not language: languages = [] else: languages = MyEngineView.expand(QLocale(language).language()) if languages: menu.addSeparator() language = languages[0] langCode = language.split("[")[1][:2] googleTranslatorUrl = QUrl.fromEncoded( b"http://translate.google.com/translate?sl=auto&tl=" + langCode.encode() + b"&u=" + QUrl.toPercentEncoding(bytes(self.url().toEncoded()).decode())) menu.addAction( self.tr("Google Translate"), lambda :self.load(googleTranslatorUrl) )#TODO: maybe has google bug blank.
def setLanguage(self, language): # file dialog if not self.file_dialog_translator.isEmpty(): QApplication.removeTranslator(self.file_dialog_translator) qmfile = "qtbase_" + QLocale.system().name().split('_')[0] + '.qm' self.file_dialog_translator.load( qmfile, QLibraryInfo.location(QLibraryInfo.TranslationsPath)) QApplication.installTranslator(self.file_dialog_translator) # rest of app if language == Language.ENGLISH: self.actionEnglish.setChecked(True) elif language == Language.GERMAN: self.actionGerman.setChecked(True) else: # Fall back to english self.actionEnglish.setChecked(True) language = Language.ENGLISH self.activeConfig.language = language self.activeConfig.saveConfig() if not self.translator.isEmpty(): QApplication.removeTranslator(self.translator) self.translator.load( f':/l10n/gui_{self.activeConfig.language.value}.qm') QApplication.installTranslator(self.translator) self.retranslateUi(self) self.resetEncText() self.resetDecText()
def reset(self): locale = QLocale.system() self.recentDocuments = [] dateFormat = str(locale.dateFormat(QLocale.ShortFormat)) dateFormat = clean_format(dateFormat) self.dateFormat = dateFormat self.tableFontSize = QApplication.font().pointSize()
def main(): """Main app function.""" import sys from os.path import dirname, realpath, exists app = QApplication(sys.argv) filePath = dirname(realpath(__file__)) locale = QLocale.system().name() if locale == 'es_CU': locale = 'es_ES' # locale = 'es_ES' appTranslator = QTranslator() if exists(filePath + '/translations/'): appTranslator.load(filePath + "/translations/videomorph_" + locale) else: appTranslator.load( "/usr/share/videomorph/translations/videomorph_" + locale) app.installTranslator(appTranslator) qtTranslator = QTranslator() qtTranslator.load("qt_" + locale, QLibraryInfo.location(QLibraryInfo.TranslationsPath)) app.installTranslator(qtTranslator) mainWin = MMWindow() if mainWin.check_conversion_lib(): mainWin.show() sys.exit(app.exec_())
def create_main_app(): # create the application main_app = QApplication(sys.argv) # internationalisation # see http://doc.qt.io/qt-5/internationalization.html # see http://pyqt.sourceforge.net/Docs/PyQt5/i18n.html translator = QTranslator() translator.load("arpi/res/i18n/arpi_" + QLocale.system().name()) main_app.installTranslator(translator) # create config global_config = GlobalConfig() # create speech output class global_config.say = Say(global_config) # create quick view view = QQuickView() view.setResizeMode(QQuickView.SizeRootObjectToView) # start program AppOverview(view, loaded_apps, global_config).activate() view.show() # clean up main_app.exec_() sys.exit()
def main(): import sys app = QApplication(sys.argv) translator = QTranslator() locale = QLocale.system().name() translateFile = os.path.join(BASEDIR, 'i18n\\translations', '{}.qm'.format(locale)) if translator.load(translateFile): app.installTranslator(translator) # QApplication.setStyle(QStyleFactory.create('Fusion')) if boolean(conf.value('General/LargeFont')): font = QFont('Courier New', 14) app.setFont(font) serverName = 'Tafor' socket = QLocalSocket() socket.connectToServer(serverName) # 如果连接成功,表明server已经存在,当前已有实例在运行 if socket.waitForConnected(500): return(app.quit()) # 没有实例运行,创建服务器 localServer = QLocalServer() localServer.listen(serverName) try: window = MainWindow() window.show() sys.exit(app.exec_()) except Exception as e: logger.error(e, exc_info=True) finally: localServer.close()
def main(): # DBUS MainLoop if not dbus.get_default_main_loop(): from dbus.mainloop.pyqt5 import DBusQtMainLoop DBusQtMainLoop(set_as_default=True) # Application Stuff from libhistorymanager.window import MainManager app = QApplication(sys.argv) app.setOrganizationName("history-manager") app.setApplicationName("history-manager") app.setApplicationVersion("0.2.8b") locale = QLocale.system().name() translator = QTranslator(app) translator.load( join("/usr/share/history-manager", "languages/{}.qm".format(locale))) app.installTranslator(translator) # Create Main Widget and make some settings mainWindow = MainManager(None, app=app) mainWindow.resize(640, 480) mainWindow.setWindowIcon(QIcon.fromTheme("view-history")) mainWindow.show() # Create connection for lastWindowClosed signal to quit app app.lastWindowClosed.connect(app.quit) # Run the applications app.exec_()
def install_translators(locale=None): """ Install all translation files in the application """ if not locale: locale = QLocale.system().name() global __translators, __locale _remove_translators() __locale = locale if locale == "en_EN": return __translators = [] for root, dirs, _ in os.walk(get_app_dir()): if root.endswith("locale"): if locale in dirs: for file in os.listdir(root + os.sep + locale): if file.endswith(".qm"): path = root + os.sep + locale + os.sep + file __translators.append(QTranslator()) __translators[-1].load(path) QApplication.instance().installTranslator( __translators[-1])
def __init__(self, opts, args): QGuiApplication.__init__(self, args) translator = QTranslator() translator.load(QLocale.system().name(), "po") self.installTranslator(translator) qmlRegisterUncreatableType( ReleaseDownload, 'LiveUSB', 1, 0, 'Download', 'Not creatable directly, use the liveUSBData instance instead') qmlRegisterUncreatableType( ReleaseWriter, 'LiveUSB', 1, 0, 'Writer', 'Not creatable directly, use the liveUSBData instance instead') qmlRegisterUncreatableType( ReleaseListModel, 'LiveUSB', 1, 0, 'ReleaseModel', 'Not creatable directly, use the liveUSBData instance instead') qmlRegisterUncreatableType( Release, 'LiveUSB', 1, 0, 'Release', 'Not creatable directly, use the liveUSBData instance instead') qmlRegisterUncreatableType( USBDrive, 'LiveUSB', 1, 0, 'Drive', 'Not creatable directly, use the liveUSBData instance instead') qmlRegisterUncreatableType(LiveUSBData, 'LiveUSB', 1, 0, 'Data', 'Use the liveUSBData root instance') engine = QQmlApplicationEngine() self.data = LiveUSBData(opts) engine.rootContext().setContextProperty('liveUSBData', self.data) if (opts.directqml): engine.load(QUrl('liveusb/liveusb.qml')) else: engine.load(QUrl('qrc:/liveusb.qml')) engine.rootObjects()[0].show() self.exec_()
def __init__(self, filepath=None): QObject.__init__(self) QTimer.singleShot(0, self.__launchTimerTimedOut) self.prefs = Preferences() self.prefs.load() global APP_PREFS APP_PREFS = self.prefs locale = QLocale.system() dateFormat = self.prefs.dateFormat decimalSep = locale.decimalPoint() groupingSep = locale.groupSeparator() cachePath = QStandardPaths.standardLocations(QStandardPaths.CacheLocation)[0] DateEdit.DATE_FORMAT = dateFormat self.model = MoneyGuruModel( view=self, date_format=dateFormat, decimal_sep=decimalSep, grouping_sep=groupingSep, cache_path=cachePath ) self.mainWindow = MainWindow(app=self) self.preferencesPanel = PreferencesPanel(self.mainWindow, app=self) self.aboutBox = AboutBox(self.mainWindow, self) self.initialFilePath = None if filepath and op.exists(filepath): self.initialFilePath = filepath elif self.prefs.recentDocuments: self.initialFilePath = self.prefs.recentDocuments[0] self.finishedLaunching.connect(self.applicationFinishedLaunching) QCoreApplication.instance().aboutToQuit.connect(self.applicationWillTerminate)
def name(): """ Returns system detected locale as a 'cc_LL' formatted string where: - cc is a 2-letter country code - LL is a 2/3-letter language code. """ return QLocale.system().name()
def main(): app = QApplication([i.encode('utf-8') for i in sys.argv]) app.setOrganizationName(ffmc.__name__) app.setOrganizationDomain(ffmc.__url__) app.setApplicationName('FF Multi Converter') app.setWindowIcon(QIcon(':/ffmulticonverter.png')) locale = QLocale.system().name() qtTranslator = QTranslator() if qtTranslator.load('qt_' + locale, ':/'): app.installTranslator(qtTranslator) appTranslator = QTranslator() if appTranslator.load('ffmulticonverter_' + locale, ':/'): app.installTranslator(appTranslator) if not os.path.exists(config.log_dir): os.makedirs(config.log_dir) logging.basicConfig(filename=config.log_file, level=logging.DEBUG, format=config.log_format, datefmt=config.log_dateformat) converter = MainWindow() converter.show() app.exec_()
def main(): if settings.get('log:errors'): log_filename = settings.get('log:filename') if log_filename: try: log_file = open(log_filename, "w") print('Redirecting stderr/stdout... to %s' % log_filename) sys.stderr = log_file sys.stdout = log_file except IOError: print("Lector could not open log file '%s'!\n" % log_filename \ + " Redirecting will not work.") else: print("Log file is not set. Please set it in settings.") app = QApplication(sys.argv) opts = [str(arg) for arg in app.arguments()[1:]] if '--no-scanner' in opts: scanner = False else: scanner = True qsrand(QTime(0, 0, 0).secsTo(QTime.currentTime())) locale = settings.get('ui:lang') if not locale: locale = QLocale.system().name() qtTranslator = QTranslator() if qtTranslator.load(":/translations/ts/lector_" + locale, 'ts'): app.installTranslator(qtTranslator) window = Window(scanner) window.show() app.exec_()
def getExportExtensionsList(self): extensions = [] for extsprefix in datadirs: extsdir = QDir(extsprefix+'/export-extensions/') if extsdir.exists(): for fileInfo in extsdir.entryInfoList(['*.desktop', '*.ini'], QDir.Files | QDir.Readable): extensions.append(self.readExtension(fileInfo.filePath())) locale = QLocale.system().name() self.extensionActions = [] for extension in extensions: try: if ('Name[%s]' % locale) in extension: name = extension['Name[%s]' % locale] elif ('Name[%s]' % locale.split('_')[0]) in extension: name = extension['Name[%s]' % locale.split('_')[0]] else: name = extension['Name'] data = {} for prop in ('FileFilter', 'DefaultExtension', 'Exec'): if 'X-ReText-'+prop in extension: data[prop] = extension['X-ReText-'+prop] elif prop in extension: data[prop] = extension[prop] else: data[prop] = '' action = self.act(name, trig=self.extensionFunction(data)) if 'Icon' in extension: action.setIcon(self.actIcon(extension['Icon'])) mimetype = extension['MimeType'] if 'MimeType' in extension else None except KeyError: print('Failed to parse extension: Name is required', file=sys.stderr) else: self.extensionActions.append((action, mimetype))
def setup_ui(self): """ 被插件管理器调用 :return: """ self._trans_editor = QTranslator() self._trans_editor.load(os.path.join(os.path.dirname(__file__), 'translations', 'codeeditor_{0}.qm'.format(QLocale.system().name()))) QApplication.instance().installTranslator(self._trans_editor) # 文档模式 self.setDocumentMode(True) # 标签页可关闭 self.setTabsClosable(True) # 标签页可移动 self.setMovable(True) self._init_signals() # 创建默认空白页 self.slot_new_script() # 初始化后台检测代码线程 self._timer_check = QTimer(self) self._timer_check.timeout.connect(self.slot_check_code) self._thread_check = QThread(self) self._worker_check = CodeCheckWorker() self._worker_check.moveToThread(self._thread_check) self._worker_check.checked.connect(self.slot_checked_code) self._thread_check.finished.connect(self._worker_check.deleteLater) self._thread_check.finished.connect(self._thread_check.deleteLater) self._thread_check.started.connect(self._worker_check.run) self._thread_check.start() self._timer_check.start(2000)
def init_ui(self): print(QLocale.system().name()) path = QDir().homePath() + '/.quickwt' # print(path) # QDir().mkpath(path) setting = QSettings(path + '/quickwt.ini', QSettings.IniFormat) title = setting.value('title', 'null') self.setWindowTitle(title) formlayout = QFormLayout() title_line_edit = QLineEdit(title) formlayout.addRow('窗口名', title_line_edit) hbox = QHBoxLayout() hbox.addStretch() save_button = QPushButton('保存') hbox.addWidget(save_button) iplist = setting.value('iplist', ['127.0.0.1', '172.16.0.0', '10.0.0.0']) listview = QListView() model = QStandardItemModel() for ip in iplist: print(ip) model.appendRow(QStandardItem(ip)) vbox2 = QVBoxLayout() vbox2.addWidget(listview) listview.setModel(model) def saveconfig(): setting.setValue('title', title_line_edit.text()) iplistnew = [] for i in range(model.rowCount()): # 这里不能用 takeRow ,因为放的时候放的是QStandardItem 不是 [QStandardItem,QStandardItem] item = model.takeItem(i) iplistnew.append(item.data(Qt.DisplayRole)) setting.setValue('iplist', iplistnew) # 还可以存储对象,不过不可以编辑文本来修改啦 setting.setValue('listtest', ['1', ['1_1', '1_2']]) save_button.clicked.connect(saveconfig) vbox = QVBoxLayout() vbox.addLayout(formlayout) vbox.addLayout(vbox2) vbox.addLayout(hbox) self.setLayout(vbox)
def __groupSeparator(self): if self.settings['decimalPointGroupSeparator'] == 1: return '.' elif self.settings['decimalPointGroupSeparator'] == 2: return ',' else: return QLocale.system().groupSeparator()
def _main() -> None: """ Execute the main application loop. :return: nothing :rtype: None """ app = QApplication(sys.argv) QLocale.setDefault(QLocale.c()) # translation language = QLocale.system().name()[:2] translations_path = QLibraryInfo.location(QLibraryInfo.TranslationsPath) base_translator = QTranslator() base_translator.load("qtbase_{}".format(language), translations_path) app.installTranslator(base_translator) custom_translator = QTranslator() custom_translator.load("cafog_{}".format(language)) app.installTranslator(custom_translator) # generate main window frame = MainWindow() frame.show() sys.exit(app.exec_())
def main(): app = QApplication(sys.argv) locale = QLocale.system().name() conf = prepare.Config() local_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), 'data', 'locale')) translator = QTranslator() if not os.path.isfile(conf.config_file): if locale in prepare.LANGUISH.keys(): conf.write_config('squares', 'gray', 30, 30, prepare.LANGUISH[locale]['Lang'], __version__) translator.load(os.path.join(local_dir, 'pybigpixel_' + locale + '.qm')) app.installTranslator(translator) else: conf.write_config('squares', 'gray', 30, 30, 'English', __version__) else: key = [key for key in prepare.LANGUISH.keys() if prepare.LANGUISH[key]['Lang'] == conf.get_languish()] if key[0] != 'default': translator.load(os.path.join(local_dir, 'pybigpixel_' + key[0] + '.qm')) app.installTranslator(translator) window = Window(conf) window.show() sys.exit(app.exec_())
def main(): if settings.get('log:errors'): log_filename = settings.get('log:filename') if log_filename: try: log_file = open(log_filename,"w") print ('Redirecting stderr/stdout... to %s' % log_filename) sys.stderr = log_file sys.stdout = log_file except IOError: print("Lector could not open log file '%s'!\n" % log_filename \ + " Redirecting will not work.") else: print("Log file is not set. Please set it in settings.") app = QApplication(sys.argv) opts = [str(arg) for arg in app.arguments()[1:]] if '--no-scanner' in opts: scanner = False else: scanner = True qsrand(QTime(0, 0, 0).secsTo(QTime.currentTime())) locale = settings.get('ui:lang') if not locale: locale = QLocale.system().name() qtTranslator = QTranslator() if qtTranslator.load(":/translations/ts/lector_" + locale, 'ts'): app.installTranslator(qtTranslator) window = Window(scanner) window.show() app.exec_()
def main(): app = QApplication([i.encode('utf-8') for i in sys.argv]) app.setOrganizationName(ffmc.__name__) app.setOrganizationDomain(ffmc.__url__) app.setApplicationName('FF Multi Converter') app.setWindowIcon(QIcon(':/ffmulticonverter.png')) locale = QLocale.system().name() qtTranslator = QTranslator() if qtTranslator.load('qt_' + locale, ':/'): app.installTranslator(qtTranslator) appTranslator = QTranslator() if appTranslator.load('ffmulticonverter_' + locale, ':/'): app.installTranslator(appTranslator) if not os.path.exists(config.log_dir): os.makedirs(config.log_dir) logging.basicConfig( filename=config.log_file, level=logging.DEBUG, format=config.log_format, datefmt=config.log_dateformat ) converter = MainWindow() converter.show() app.exec_()
def install_gettext_trans_under_qt(base_folder, lang=None): # So, we install the gettext locale, great, but we also should try to install qt_*.qm if # available so that strings that are inside Qt itself over which I have no control are in the # right language. from PyQt5.QtCore import QCoreApplication, QTranslator, QLocale, QLibraryInfo if not lang: lang = str(QLocale.system().name())[:2] localename = get_locale_name(lang) if localename is not None: try: locale.setlocale(locale.LC_ALL, localename) except locale.Error: logging.warning("Couldn't set locale %s", localename) qmname = 'qt_%s' % lang if ISLINUX: # Under linux, a full Qt installation is already available in the system, we didn't bundle # up the qm files in our package, so we have to load translations from the system. qmpath = op.join(QLibraryInfo.location(QLibraryInfo.TranslationsPath), qmname) else: qmpath = op.join(base_folder, qmname) qtr = QTranslator(QCoreApplication.instance()) qtr.load(qmpath) QCoreApplication.installTranslator(qtr) install_gettext_trans(base_folder, lang)
def onAddTagButtonClicked(self): locale = QLocale.system().name()[:2] menu_data = util.get_genres_menu_data(lang=locale) menu = QMenu() submenu = [] i = 0 for item in menu_data: submenu.append(QMenu(item['title'])) idx = len(submenu) - 1 for i in item['submenu']: menuAction = submenu[idx].addAction(i['title']) menuAction.setData(i['value']) menu.addMenu(submenu[idx]) action = menu.exec_( self.addTagButton.mapToGlobal(QPoint(0, self.addTagButton.height()))) if action: genre = action.data() genre_string = self.tagsEdit.getUserText(None) if genre_string is None: genre_string = genre else: genre_string = util.insert_substring(genre_string, genre) self.tagsEdit.setUserText(genre_string)
def __init__(self, filepath=None): ApplicationBase.__init__(self) self.prefs = Preferences() self.prefs.load() global APP_PREFS APP_PREFS = self.prefs locale = QLocale.system() dateFormat = self.prefs.dateFormat decimalSep = locale.decimalPoint() groupingSep = locale.groupSeparator() cachePath = QStandardPaths.standardLocations(QStandardPaths.CacheLocation)[0] appdata = getAppData() DateEdit.DATE_FORMAT = dateFormat self.model = MoneyGuruModel( view=self, date_format=dateFormat, decimal_sep=decimalSep, grouping_sep=groupingSep, cache_path=cachePath, appdata_path=appdata, ) # on the Qt side, we're single document based, so it's one doc per app. self.doc = Document(app=self) self.doc.model.connect() self.mainWindow = MainWindow(doc=self.doc) self.preferencesPanel = PreferencesPanel(self.mainWindow, app=self) self.aboutBox = AboutBox(self.mainWindow, self) self.initialFilePath = None if filepath and op.exists(filepath): self.initialFilePath = filepath elif self.prefs.recentDocuments: self.initialFilePath = self.prefs.recentDocuments[0] self.finishedLaunching.connect(self.applicationFinishedLaunching) QCoreApplication.instance().aboutToQuit.connect(self.applicationWillTerminate)
def main(): # DBUS MainLoop if not dbus.get_default_main_loop(): from dbus.mainloop.pyqt5 import DBusQtMainLoop DBusQtMainLoop(set_as_default = True) # Application Stuff from libhistorymanager.window import MainManager app = QApplication(sys.argv) app.setOrganizationName("history-manager") app.setApplicationName("history-manager") app.setApplicationVersion("0.2.8b") locale = QLocale.system().name() translator = QTranslator(app) translator.load(join("/usr/share/history-manager", "languages/{}.qm".format(locale))) app.installTranslator(translator) # Create Main Widget and make some settings mainWindow = MainManager(None, app= app) mainWindow.resize(640, 480) mainWindow.setWindowIcon(QIcon.fromTheme("view-history")) mainWindow.show() # Create connection for lastWindowClosed signal to quit app app.lastWindowClosed.connect(app.quit) # Run the applications app.exec_()
def loadQtTranslation(self, file, language = "default"): #TODO Add support for specifying a language from preferences path = None if language == "default": # If we have a language set in the environment, try and use that. lang = os.getenv("LANGUAGE") if lang: try: path = Resources.getPath(Resources.i18nLocation, lang, "LC_MESSAGES", file + ".qm") except FileNotFoundError: path = None # If looking up the language from the enviroment fails, try and use Qt's system locale instead. if not path: locale = QLocale.system() # First, try and find a directory for any of the provided languages for lang in locale.uiLanguages(): try: path = Resources.getPath(Resources.i18nLocation, lang, "LC_MESSAGES", file + ".qm") language = lang except FileNotFoundError: pass else: break # If that fails, see if we can extract a language "class" from the # preferred language. This will turn "en-GB" into "en" for example. if not path: lang = locale.uiLanguages()[0] lang = lang[0:lang.find("-")] try: path = Resources.getPath(Resources.i18nLocation, lang, "LC_MESSAGES", file + ".qm") language = lang except FileNotFoundError: pass else: path = Resources.getPath(Resources.i18nLocation, language, "LC_MESSAGES", file + ".qm") # If all else fails, fall back to english. if not path: Logger.log("w", "Could not find any translations matching {0} for file {1}, falling back to english".format(language, file)) try: path = Resources.getPath(Resources.i18nLocation, "en", "LC_MESSAGES", file + ".qm") except FileNotFoundError: Logger.log("w", "Could not find English translations for file {0}. Switching to developer english.".format(file)) return translator = QTranslator() if not translator.load(path): Logger.log("e", "Unable to load translations %s", file) return # Store a reference to the translator. # This prevents the translator from being destroyed before Qt has a chance to use it. self._translators[file] = translator # Finally, install the translator so Qt can use it. self.installTranslator(translator)
def getDefaultLocale(self): default_locale = enchant.get_default_language() if default_locale is None: default_locale = QLocale.system().name() if default_locale is None: default_locale = enchant.list_dicts()[0][0] return default_locale
def _initLocalLanguage(self): if QLocale.system().language() in (QLocale.China, QLocale.Chinese, QLocale.Taiwan, QLocale.HongKong, QLocale.Macau): translator = QTranslator(self) translator.load( os.path.abspath(TranslationFile).replace('\\', '/')) QApplication.instance().installTranslator(translator)
class Runner(): _window = None _application = None def __init__(self): self._application = QApplication(sys.argv) self._window = None # Main Window Initialized.. try: self._window = yali.gui.YaliWindow.Widget() except yali.Error, msg: ctx.logger.debug(msg) sys.exit(1) self._translator = QTranslator() self._translator.load( "qt_" + QLocale.system().name(), QLibraryInfo.location(QLibraryInfo.TranslationsPath)) ctx.mainScreen = self._window screens = self._get_screens(ctx.flags.install_type) self._set_steps(screens) # These shorcuts for developers :) prevScreenShortCut = QShortcut(QKeySequence(Qt.SHIFT + Qt.Key_F1), self._window) nextScreenShortCut = QShortcut(QKeySequence(Qt.SHIFT + Qt.Key_F2), self._window) prevScreenShortCut.activated.connect(self._window.slotBack) nextScreenShortCut.activated.connect(self._window.slotNext) # VBox utils ctx.logger.debug("Starting VirtualBox tools..") #FIXME:sh /etc/X11/Xsession.d/98-vboxclient.sh yali.util.run_batch("VBoxClient", ["--autoresize"]) yali.util.run_batch("VBoxClient", ["--clipboard"]) # Cp Reboot, ShutDown yali.util.run_batch("cp", ["/sbin/reboot", "/tmp/reboot"]) yali.util.run_batch("cp", ["/sbin/shutdown", "/tmp/shutdown"]) # base connections self._application.lastWindowClosed.connect(self._application.quit) self._window.signalProcessEvents.connect( self._application.processEvents) #hata olabilir self._application.desktop().resized[int].connect( self._reinit_screen) #hata olabilir # Font Resize fontMinusShortCut = QShortcut(QKeySequence(Qt.CTRL + Qt.Key_Minus), self._window) fontPlusShortCut = QShortcut(QKeySequence(Qt.CTRL + Qt.Key_Plus), self._window) fontMinusShortCut.activated.connect(self._window.setFontMinus) fontPlusShortCut.activated.connect(self._window.setFontPlus)
def _initLanguage(self): """加载国际化翻译 """ if QLocale.system().language() in (QLocale.China, QLocale.Chinese, QLocale.Taiwan, QLocale.HongKong): # 加载中文 translator = QTranslator(self) translator.load('Resources/pyqtclient_zh_CN.qm') QApplication.instance().installTranslator(translator) AppLog.info('install local language')
def _getDefaultLanguage(self, file_name): # If we have a language override set in the environment, try and use that. lang = os.getenv("URANIUM_LANGUAGE") if lang: try: return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file_name + ".qm") except FileNotFoundError: pass # Else, try and get the current language from preferences lang = Preferences.getInstance().getValue("general/language") if lang: try: return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file_name + ".qm") except FileNotFoundError: pass # If none of those are set, try to use the environment's LANGUAGE variable. lang = os.getenv("LANGUAGE") if lang: try: return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file_name + ".qm") except FileNotFoundError: pass # If looking up the language from the enviroment or preferences fails, try and use Qt's system locale instead. locale = QLocale.system() # First, try and find a directory for any of the provided languages for lang in locale.uiLanguages(): try: return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file_name + ".qm") except FileNotFoundError: pass # If that fails, see if we can extract a language code from the # preferred language, regardless of the country code. This will turn # "en-GB" into "en" for example. lang = locale.uiLanguages()[0] lang = lang[0:lang.find("-")] for subdirectory in os.path.listdir(Resources.getPath(Resources.i18n)): if subdirectory == "en_7S": #Never automatically go to Pirate. continue if not os.path.isdir( Resources.getPath(Resources.i18n, subdirectory)): continue if subdirectory.startswith( lang + "_"): #Only match the language code, not the country code. return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file_name + ".qm") return None
def main(argv=None): if not argv: argv = sys.argv app = QApplication(argv) translator = QTranslator() translator.load("qt_" + QLocale.system().name(), os.path.join( getResourcesPath(), "translations")) app.installTranslator(translator) myTranslator = QTranslator() myTranslator.load("Tiles_" + QLocale.system().name(), os.path.join( getResourcesPath(), "translations")) app.installTranslator(myTranslator) window = MainWindow() window.show() return app.exec_()
def install_qt_trans(): # So, we install the gettext locale, great, but we also should try to install qt_*.qm if # available so that strings that are inside Qt itself over which I have no control are in the # right language. from PyQt5.QtCore import QCoreApplication, QTranslator, QLocale, QLibraryInfo lang = str(QLocale.system().name())[:2] qmname = 'qt_%s' % lang qtr = QTranslator(QCoreApplication.instance()) qtr.load(qmname, QLibraryInfo.location(QLibraryInfo.TranslationsPath)) QCoreApplication.installTranslator(qtr)
def main(): app = QApplication(sys.argv) translator = QTranslator() if translator.load('editor_'+ QLocale.system().name()+'.qm',":/translations/"): app.installTranslator(translator) translator_qt = QTranslator() if translator_qt.load('qt_'+ QLocale.system().name()+'.qm',":/translations/"): # print('i found qt') app.installTranslator(translator_qt) mainwindow = Editor() mainwindow.setWindowTitle('simple text editor') mainwindow.setWindowIcon(QIcon(':/icons/editor.ico')) mainwindow.show() sys.exit(app.exec_())
def gui(): app = QApplication(sys.argv) translator = QTranslator() if translator.load('wise_'+ QLocale.system().name()+'.qm',":/translations/"): app.installTranslator(translator) translator_qt = QTranslator() if translator_qt.load('qt_'+ QLocale.system().name()+'.qm',":/translations/"): print('i found qt') app.installTranslator(translator_qt) timer = Timer() def beep(): print('\a') timer.timeout.connect(beep) timer.show() sys.exit(app.exec_())
def defaultAcceptLanguages(cls): """ Class method to get the list of default accept languages. @return list of acceptable languages (list of strings) """ language = QLocale.system().name() if not language: return [] else: return cls.expand(QLocale(language).language())
def main(): logging.basicConfig(level=logging.WARN, format="%(asctime)s %(levelname)s %(message)s") app = QApplication(sys.argv) translator = QTranslator(app) path = os.path.dirname(rect.__file__) if QLocale.system().language() == QLocale.Japanese: translator.load(path+"/i18n/trainscanner_ja") app.installTranslator(translator) se = SettingsGUI() se.show() se.raise_() sys.exit(app.exec_())
def main(): app = QApplication(sys.argv) app.setQuitOnLastWindowClosed(False) app.setOrganizationName('meteo-qt') app.setOrganizationDomain('meteo-qt') app.setApplicationName('meteo-qt') app.setWindowIcon(QIcon(':/logo')) filePath = os.path.dirname(os.path.realpath(__file__)) settings = QSettings() locale = settings.value('Language') if locale is None or locale == '': locale = QLocale.system().name() appTranslator = QTranslator() if os.path.exists(filePath + '/translations/'): appTranslator.load(filePath + "/translations/meteo-qt_" + locale) else: appTranslator.load("/usr/share/meteo_qt/translations/meteo-qt_" + locale) app.installTranslator(appTranslator) qtTranslator = QTranslator() qtTranslator.load("qt_" + locale, QLibraryInfo.location(QLibraryInfo.TranslationsPath)) app.installTranslator(qtTranslator) log_level = settings.value('Logging/Level') if log_level == '' or log_level is None: log_level = 'INFO' settings.setValue('Logging/Level', 'INFO') log_filename = os.path.dirname(settings.fileName()) if not os.path.exists(log_filename): os.makedirs(log_filename) log_filename = log_filename + '/meteo-qt.log' logging.basicConfig(format='%(asctime)s %(levelname)s: %(message)s - %(module)s - %(name)s', datefmt='%m/%d/%Y %H:%M:%S', filename=log_filename, level=log_level) logger = logging.getLogger('meteo-qt') logger.setLevel(log_level) handler = logging.handlers.RotatingFileHandler( log_filename, maxBytes=20, backupCount=5) logger1 = logging.getLogger() handler1 = logging.StreamHandler() logger1Formatter = logging.Formatter('%(levelname)s: %(message)s - %(module)s') handler1.setFormatter(logger1Formatter) logger.addHandler(handler) logger1.addHandler(handler1) m = SystemTrayIcon() app.exec_()
def main(): app = QApplication(sys.argv) app.setApplicationName("Kaptan") app.setOrganizationName("Kaptan") app.setApplicationVersion("5.0 Beta3") #app.setStyleSheet(open(join(dirPath, "data/libkaptan.qss").read()) locale = QLocale.system().name() translator = QTranslator(app) translator.load("/usr/share/kaptan/languages/kaptan_{}.qm".format(locale)) app.installTranslator(translator) kaptan = Kaptan() kaptan.show() app.exec_()
def main(): dirPath = dirname(__file__) app = QApplication(sys.argv) #app.setStyleSheet(open(join(dirPath, "data/kaptan.qss").read()) locale = QLocale.system().name() translator = QTranslator(app) translator.load(join(dirPath, "languages/{}.qm".format(locale))) app.installTranslator(translator) kaptan = Kaptan() kaptan.show() app.exec_()
def setup_translation(self): self.tr("Test translator") sys_locale = QLocale.system() lang_code = QLocale.languageToString(sys_locale.language()) logger.info('System language: {0}, {1}'.format(lang_code, sys_locale.bcp47Name())) translator = QTranslator(self) # bool load(locale, filename, prefix = '', directory = '', suffix = '') res = translator.load(sys_locale, 'xnovacmd', '_', './translations') # Loads filename + prefix + ui language name + suffix (".qm" if the suffix is not specified), # which may be an absolute file name or relative to directory. # Returns true if the translation is successfully loaded; otherwise returns false. if res: logger.info('Loaded translation OK') self.installTranslator(translator) else: logger.warn('Failed to load translator!')
def run(): app = QApplication(sys.argv) app.setOrganizationName("manuskript") app.setOrganizationDomain("www.theologeek.ch") app.setApplicationName("manuskript") app.setApplicationVersion(_version) icon = QIcon() for i in [16, 31, 64, 128, 256, 512]: icon.addFile(appPath("icons/Manuskript/icon-{}px.png".format(i))) qApp.setWindowIcon(icon) app.setStyle("Fusion") # Load style from QSettings settings = QSettings(app.organizationName(), app.applicationName()) if settings.contains("applicationStyle"): style = settings.value("applicationStyle") app.setStyle(style) # Translation process locale = QLocale.system().name() appTranslator = QTranslator() # By default: locale translation = appPath(os.path.join("i18n", "manuskript_{}.qm".format(locale))) # Load translation from settings if settings.contains("applicationTranslation"): translation = appPath(os.path.join("i18n", settings.value("applicationTranslation"))) print("Found translation in settings:", translation) if appTranslator.load(translation): app.installTranslator(appTranslator) print(app.tr("Loaded translation: {}.").format(translation)) else: print(app.tr("Warning: failed to load translator for locale {}...").format(locale)) QIcon.setThemeSearchPaths(QIcon.themeSearchPaths() + [appPath("icons")]) QIcon.setThemeName("NumixMsk") # qApp.setWindowIcon(QIcon.fromTheme("im-aim")) # Seperating launch to avoid segfault, so it seem. # Cf. http://stackoverflow.com/questions/12433491/is-this-pyqt-4-python-bug-or-wrongly-behaving-code launch()
def __init__(self, iface): self.iface = iface if QSettings().value('locale/overrideFlag'): locale = QSettings().value('locale/userLocale') else: locale = QLocale.system().name() locale_path = os.path.join( os.path.dirname(__file__), 'i18n', 'pointSamplingTool_{}.qm'.format(locale[0:2])) if os.path.exists(locale_path): self.translator = QTranslator() self.translator.load(locale_path) QCoreApplication.installTranslator(self.translator)
def _getDefaultLanguage(self, file): # If we have a language override set in the environment, try and use that. lang = os.getenv("URANIUM_LANGUAGE") if lang: try: return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file + ".qm") except FileNotFoundError: pass # Else, try and get the current language from preferences lang = Preferences.getInstance().getValue("general/language") if lang: try: return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file + ".qm") except FileNotFoundError: pass # If none of those are set, try to use the environment's LANGUAGE variable. lang = os.getenv("LANGUAGE") if lang: try: return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file + ".qm") except FileNotFoundError: pass # If looking up the language from the enviroment or preferences fails, try and use Qt's system locale instead. locale = QLocale.system() # First, try and find a directory for any of the provided languages for lang in locale.uiLanguages(): try: return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file + ".qm") except FileNotFoundError: pass # If that fails, see if we can extract a language "class" from the # preferred language. This will turn "en-GB" into "en" for example. lang = locale.uiLanguages()[0] lang = lang[0:lang.find("-")] try: return Resources.getPath(Resources.i18n, lang, "LC_MESSAGES", file + ".qm") except FileNotFoundError: pass return None
def __init__(self): super().__init__() self.config = configparser.ConfigParser() filename = 'config.ini' self.config.read(filename, encoding='utf-8') self.lang = QLocale.system().name() self.lang = self.getValue('DEFAULT', 'Language', self.lang) self.workTime = int(float(self.getValue('DEFAULT', 'WorkTime', '25')) * 60) self.shortTime = int(float(self.getValue('DEFAULT', 'BreakTime', '5')) * 60) self.longTime = int(float(self.getValue('DEFAULT', 'LongBreakTime', '15')) * 60) self.longBreakPomodoroNumber = int(self.getValue('DEFAULT', 'PomodoroForLongBreak', '4')) self.staysOnTop = self.getValue('UI', 'StaysOnTop', 'True').lower() == 'true' with open(filename, 'w', encoding='utf-8') as file: self.config.write(file)
def loadTranslators(qtTransDir, app, translationFiles=()): """ Module function to load all required translations. @param qtTransDir directory of the Qt translations files (string) @param app reference to the application object (QApplication) @param translationFiles tuple of additional translations to be loaded (tuple of strings) @return the requested locale (string) """ import Preferences global loaded_translators if qVersion() < "5.0.0": # set the default encoding for tr() QTextCodec.setCodecForTr(QTextCodec.codecForName("utf-8")) translations = ("qt", "eric6") + translationFiles loc = Preferences.getUILanguage() if loc is None: return if loc == "System": loc = QLocale.system().name() if loc != "C": dirs = [getConfig('ericTranslationsDir'), Globals.getConfigDir()] if qtTransDir is not None: dirs.append(qtTransDir) loca = loc for tf in ["{0}_{1}".format(tr, loc) for tr in translations]: translator, ok = loadTranslatorForLocale(dirs, tf) loaded_translators[tf] = translator if ok: app.installTranslator(translator) else: if tf.startswith("eric6"): loca = None loc = loca else: loc = None return loc
def UItranslations(self): """ Get list of available ui translations """ # iterate over resource file to find available translations fltr = QDir.Dirs | QDir.Files | QDir.Hidden iterator = QDirIterator(':', fltr, QDirIterator.Subdirectories) while iterator.hasNext(): filePath = iterator.next() if '/translations/ts/' in filePath: fileName = os.path.basename(str(filePath[1:])) locale = fileName.replace('lector_','').replace('.qm', '') if locale: self.ui.cbLang.addItem(locale) locale = settings.get('ui:lang') if not locale: locale = QLocale.system().name() currentIndex = self.ui.cbLang.findText(locale) if currentIndex <= -1: currentIndex = self.ui.cbLang.findText('en_GB') self.ui.cbLang.setCurrentIndex(currentIndex)
def __init__(self, app_dir): app_dir = os.path.realpath(app_dir) manifest_path = os.path.join(app_dir, "manifest.json") try: manifest = json.load(codecs.open(manifest_path, 'r', 'utf-8')) except: manifest = {} for key in manifest: assets.manifest[key] = manifest[key] app = QApplication(sys.argv) app.setApplicationName(assets.manifest['name']) app.setApplicationVersion(assets.manifest['version']) assets.sys = System() assets.codec = Codec() assets.fs = FileSystem() assets.dataJar = DataJar() translator = QTranslator() translateLocaleName = "qt_" + QLocale.system().name() translator.load(translateLocaleName, QLibraryInfo.location(QLibraryInfo.TranslationsPath)) app.installTranslator(translator) if assets.manifest.get("plugins"): plugindir = os.path.join(app_dir, assets.manifest["plugins"]) plugin_manager = PluginsManager(plugindir) plugin_manager.load(assets) assets.manifest['icon'] = os.path.join(app_dir, assets.manifest["icon"]) assets.manifest['app_dir'] = app_dir if "--debug" in sys.argv: assets.manifest['debug'] = True index_path = os.path.join(app_dir, assets.manifest['path'] + 'index.html') self.window = Window(None, index_path) sys.exit(app.exec_())