##// END OF EJS Templates
Insert a fake pip magic warning users the should use the shell....
Insert a fake pip magic warning users the should use the shell. Ignore the pip by instance to let other magic overwrite it if necessary. Thank Carol Willing and Thomas Kluyver for the phrasing Bump #9517 to 7.0

File last commit:

r22707:3a42b331
r23362:67d13007
Show More
qt.py
30 lines | 1.0 KiB | text/x-python | PythonLexer
import sys
from IPython.external.qt_for_kernel import QtCore, QtGui
# If we create a QApplication, keep a reference to it so that it doesn't get
# garbage collected.
_appref = None
def inputhook(context):
global _appref
app = QtCore.QCoreApplication.instance()
if not app:
_appref = app = QtGui.QApplication([" "])
event_loop = QtCore.QEventLoop(app)
if sys.platform == 'win32':
# The QSocketNotifier method doesn't appear to work on Windows.
# Use polling instead.
timer = QtCore.QTimer()
timer.timeout.connect(event_loop.quit)
while not context.input_is_ready():
timer.start(50) # 50 ms
event_loop.exec_()
timer.stop()
else:
# On POSIX platforms, we can use a file descriptor to quit the event
# loop when there is input ready to read.
notifier = QtCore.QSocketNotifier(context.fileno(), QtCore.QSocketNotifier.Read)
notifier.setEnabled(True)
notifier.activated.connect(event_loop.exit)
event_loop.exec_()