コード例 #1
0
     # Setting the right input hook according to mpl_backend,
     # IMPORTANT NOTE: Don't try to abstract the steps to set a PyOS
     # input hook callback in a function. It will **crash** the
     # interpreter!!
     if (mpl_backend == "Qt4Agg" or mpl_backend == "Qt5Agg") and \
       os.name == 'nt' and monitor is not None:
         # Removing PyQt4 input hook which is not working well on
         # Windows since opening a subprocess does not attach a real
         # console to it (with keyboard events...)
         if qt_api == 'pyqt' or qt_api == 'pyqt5':
             inputhooks.remove_pyqt_inputhook()
         # Using our own input hook
         # NOTE: it's not working correctly for some configurations
         # (See issue 1831)
         callback = inputhooks.set_pyft_callback(qt_nt_inputhook)
         pyos_ih = inputhooks.get_pyos_inputhook()
         pyos_ih.value = ctypes.cast(callback, ctypes.c_void_p).value
     elif mpl_backend == "Qt4Agg" and qt_api == 'pyside':
         # PySide doesn't have an input hook, so we need to install one
         # to be able to show plots
         # Note: This only works well for Posix systems
         callback = inputhooks.set_pyft_callback(inputhooks.qt4)
         pyos_ih = inputhooks.get_pyos_inputhook()
         pyos_ih.value = ctypes.cast(callback, ctypes.c_void_p).value
     elif (mpl_backend != "Qt4Agg" and qt_api == 'pyqt') \
       or (mpl_backend != "Qt5Agg" and qt_api == 'pyqt5'):
         # Matplotlib backends install their own input hooks, so we
         # need to remove the PyQt one to make them work
         inputhooks.remove_pyqt_inputhook()
 else:
     inputhooks.remove_pyqt_inputhook()
コード例 #2
0
ファイル: sitecustomize.py プロジェクト: jitseniesen/spyder
     # Setting the right input hook according to mpl_backend,
     # IMPORTANT NOTE: Don't try to abstract the steps to set a PyOS
     # input hook callback in a function. It will **crash** the
     # interpreter!!
     if (mpl_backend == "Qt4Agg" or mpl_backend == "Qt5Agg") and \
       os.name == 'nt' and monitor is not None:
         # Removing PyQt4 input hook which is not working well on
         # Windows since opening a subprocess does not attach a real
         # console to it (with keyboard events...)
         if qt_api == 'pyqt' or qt_api == 'pyqt5':
             inputhooks.remove_pyqt_inputhook()
         # Using our own input hook
         # NOTE: it's not working correctly for some configurations
         # (See issue 1831)
         callback = inputhooks.set_pyft_callback(qt_nt_inputhook)
         pyos_ih = inputhooks.get_pyos_inputhook()
         pyos_ih.value = ctypes.cast(callback, ctypes.c_void_p).value
     elif mpl_backend == "Qt4Agg" and qt_api == 'pyside':
         # PySide doesn't have an input hook, so we need to install one
         # to be able to show plots
         # Note: This only works well for Posix systems
         callback = inputhooks.set_pyft_callback(inputhooks.qt4)
         pyos_ih = inputhooks.get_pyos_inputhook()
         pyos_ih.value = ctypes.cast(callback, ctypes.c_void_p).value
     elif (mpl_backend != "Qt4Agg" and qt_api == 'pyqt') \
       or (mpl_backend != "Qt5Agg" and qt_api == 'pyqt5'):
         # Matplotlib backends install their own input hooks, so we
         # need to remove the PyQt one to make them work
         inputhooks.remove_pyqt_inputhook()
 else:
     inputhooks.remove_pyqt_inputhook()