#!/usr/bin/env python """ http://www.grigoriev.ru/svgmath/ (MathML->SVG in Python) http://helm.cs.unibo.it/mml-widget/ (MathML widget in C++) """ from __future__ import with_statement import logging import util.qt_compat as qt_compat QtCore = qt_compat.QtCore QtGui = qt_compat.import_module("QtGui") from util import qui_utils import util.misc as misc_utils import history import operation _moduleLogger = logging.getLogger(__name__) class QCalcHistory(history.AbstractHistory): _CLOSE_COLUMN = 0 _EQ_COLUMN = 1 _RESULT_COLUMN = 2 def __init__(self, errorReporter):
* comncurrent's async functions which builds on go_utils / qore_utils task pool * qui_util's error log * logging slot exceptions * qui_util's QSignalingMainWindow which exposes some additional signals """ from __future__ import with_statement from __future__ import division import time import logging from util import qt_compat QtCore = qt_compat.QtCore QtGui = qt_compat.import_module("QtGui") from util import qore_utils from util import qui_utils from util import concurrent from util import misc _moduleLogger = logging.getLogger(__name__) class BusyWait(object): def __init__(self): # Specifically make this variable thread unsafe self._value = 0 def wait(self, t): self._value = t
Use Loader [1] Keep QML files small [1] [1] http://sf2011.meego.com/program/sessions/performance-tips-and-tricks-qtqml-applications-0 [2] http://doc.qt.nokia.com/4.7/qdeclarativeperformance.html """ from __future__ import with_statement from __future__ import division import logging import util.qt_compat as qt_compat QtCore = qt_compat.QtCore QtGui = qt_compat.import_module("QtGui") QtDeclarative = qt_compat.import_module("QtDeclarative") _moduleLogger = logging.getLogger(__name__) class DeclarativeView(QtDeclarative.QDeclarativeView): def __init__(self): QtDeclarative.QDeclarativeView.__init__(self) closing = qt_compat.Signal() def closeEvent(self, event): self.closing.emit() event.ignore()
#!/usr/bin/env python # -*- coding: UTF8 -*- from __future__ import with_statement import os import logging import util.qt_compat as qt_compat QtCore = qt_compat.QtCore QtGui = qt_compat.import_module("QtGui") QtDeclarative = qt_compat.import_module("QtDeclarative") from util import qore_utils from util import io as io_utils _moduleLogger = logging.getLogger(__name__) def run(args): logFormat = '(%(relativeCreated)5d) %(levelname)-5s %(threadName)s.%(name)s.%(funcName)s: %(message)s' logging.basicConfig(level=logging.DEBUG, format=logFormat) errorLog = qore_utils.QErrorLog() errorLoghandler = io_utils.ErrorLogHandler(errorLog, level=logging.INFO) root = logging.getLogger() root.addHandler(errorLoghandler) _moduleLogger.debug("OS: %s", os.uname()[0]) _moduleLogger.debug("Kernel: %s (%s) for %s", *os.uname()[2:])