def setUp(self): GafferTest.TestCase.setUp(self) # Forward Qt messages to the IECore message handler. # This causes them to be reported as errors by our # base class. def messageHandler(type, context, message): IECore.msg({ QtCore.QtMsgType.QtInfoMsg: IECore.Msg.Level.Info, QtCore.QtMsgType.QtDebugMsg: IECore.Msg.Level.Debug, }.get(type, IECore.Msg.Level.Error), "Qt", message) QtCompat.qInstallMessageHandler(messageHandler) self.addCleanup( functools.partial(QtCompat.qInstallMessageHandler, None))
def ignoreQtMessageHandler(msgs): """A context that ignores specific qMessages for all bindings Args: msgs: list of message strings to ignore """ from Qt import QtCompat def messageOutputHandler(msgType, logContext, msg): if msg in msgs: return sys.stderr.write("{0}\n".format(msg)) QtCompat.qInstallMessageHandler(messageOutputHandler) try: yield finally: QtCompat.qInstallMessageHandler(None)
def ignoreQtMessageHandler(msgs): """A context that ignores specific qMessages for all bindings Args: msgs: list of message strings to ignore """ from Qt import QtCompat def messageOutputHandler(msgType, logContext, msg): if msg in msgs: return sys.stderr.write("{0}\n".format(msg)) QtCompat.qInstallMessageHandler(messageOutputHandler) try: yield finally: QtCompat.qInstallMessageHandler(None)