Esempio n. 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)
Esempio n. 2
0
if __name__ == '__main__':
    config = properties.get_config()
    logging.config.fileConfig(config.get('Global', 'logConfig'))
    logger = logging.getLogger('globalLogger')
    
    try:
        import sys
        app = QtGui.QApplication(sys.argv)
        
        # Load localization settings
        language = config.get('Localization', 'language')
        localize_path = config.get('Localization', 'translationspath')
        filename = config.get('Localization', 'translationnameformat').format(language)
        
        # Qt localization settings
        qt_translator = QTranslator()    
        qt_translator.load('qt_' + language, 
                    QLibraryInfo.location(QLibraryInfo.TranslationsPath))
        app.installTranslator(qt_translator)
        
        # Application localization settings
        app_translator = QTranslator()    
        app_translator.load(os.path.join(localize_path, filename))
        app.installTranslator(app_translator)
        
        # Create main window
        form = MainWindow()
        form.setWindowTitle(u'PyStitch v0.7')
        
        # Create splash screen
        splash = QtGui.QSplashScreen(form, QtGui.QPixmap(config.get('UI', 'splashScreenPic')), 
Esempio n. 3
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)
Esempio n. 4
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_())
Esempio n. 5
0
class MyQApplication(QApplication):
    def __init__(self, args):
        super(MyQApplication, self).__init__(args)

        self.qt_tr = None
        self.translator = None
        self.set_style()
        self.set_language()
        self.set_font()

    def set_style(self, filepath=None):
        """ 给应用程序设置style.

        Args:
            filepath: qss文件的路径或者是在资源文件中的表现路径(:/开头)
        Returns:
            None
        Raises:

        """
        if filepath is None:
            # filepath = os.path.join(os.path.dirname(os.path.abspath(__file__)), r'resource\style\bwallet.qss')
            filepath = ":/style/bwallet"  # 正式环境
        self.set_stylesheet(filepath=filepath)

    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)

    def set_stylesheet(self, filepath):
        """ 给控件设置样式

        Args:
            filepath: qss文件的路径
            obj: 要设置style的对象(可以是qApp,或者任意控件对象)
        """
        f = QFile(filepath)
        f.open(QFile.ReadOnly)
        styleSheet = unicode(f.readAll(), encoding='utf8')
        self.setStyleSheet(styleSheet)
        f.close()

    def set_font(self):
        font_id = QFontDatabase.addApplicationFont(":/font/Roboto-Medium")
        font_families = QFontDatabase.applicationFontFamilies(font_id)
        font = QFont()
        font.setFamily(font_families.takeFirst())
        font.setPointSize(10)
        self.setFont(font)
Esempio n. 6
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_())