Пример #1
0
    def set_language(self, lang=None):
        """ 给应用程序设置语言(可以同时加载多个qm文件,比如程序本身的翻译文件, 以及官方提供的右键菜单的翻译文件

        Args:
            lang: 语言代码,比如中国大陆zh-CN,中国台湾zh-TW. 如未设置,则获取本地语言.
                  语言代码参考表[注:QT中使用的是下划线]:
                        http://www.lingoes.cn/zh/translator/langcode.htm
        """
        if lang is None:
            lang = unicode(QLocale.system().name())  # PyQt4.QtCore.QString(u'zh_CN')

        self.translator = QTranslator(self)
        if self.translator.load(':/qm/{}'.format(lang)):
            self.installTranslator(self.translator)

        self.qt_tr = QTranslator(self)
        if self.qt_tr.load(':/qm/qt_{}.qm'.format(lang)):
            self.installTranslator(self.qt_tr)
Пример #2
0
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)
        QObject.connect(prevScreenShortCut, SIGNAL("activated()"),
                        self._window.slotBack)
        QObject.connect(nextScreenShortCut, SIGNAL("activated()"),
                        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
        QObject.connect(self._application, SIGNAL("lastWindowClosed()"),
                        self._application, SLOT("quit()"))
        QObject.connect(self._window, SIGNAL("signalProcessEvents"),
                        self._application.processEvents)
        QObject.connect(self._application.desktop(), SIGNAL("resized(int)"),
                        self._reinit_screen)

        # Font Resize
        fontMinusShortCut = QShortcut(QKeySequence(Qt.CTRL + Qt.Key_Minus),
                                      self._window)
        fontPlusShortCut = QShortcut(QKeySequence(Qt.CTRL + Qt.Key_Plus),
                                     self._window)
        QObject.connect(fontMinusShortCut, SIGNAL("activated()"),
                        self._window.setFontMinus)
        QObject.connect(fontPlusShortCut, SIGNAL("activated()"),
                        self._window.setFontPlus)
Пример #3
0
    config = ConfigParser.RawConfigParser()
    config.read('workspace.properties')

    company = config.get('Version', 'company')
    product = config.get('Version', 'product')
    subproduct = config.get('Version', 'subproduct')
    version = config.get('Version', 'Version')

    myappid = (company + "." + product + "." + subproduct + "." + version)
    ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)

    app = QtGui.QApplication(sys.argv)
    icon = config.get('Icon', 'icon.general')
    app.setWindowIcon(QtGui.QIcon(icon))

    locale = QLocale.system().name()
    qtTranslator = QTranslator()
    coretranslator = QtCore.QTranslator(app)
    if qtTranslator.load("qt_" + locale):
        qtTranslator.load(
            'qt_%s' % locale,
            QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath))
        app.installTranslator(qtTranslator)
        app.installTranslator(coretranslator)

    #print("Numero de nucleos: " + str(GeneralTools.available_cpu_count()))

    ex = TelaPrincipal.Ui_MainWindow()
    ex.show()
    sys.exit(app.exec_())