##// END OF EJS Templates
* Fixed bug where syntax highlighting was lost after updating a prompt with a bad number....
* Fixed bug where syntax highlighting was lost after updating a prompt with a bad number. * Minor cleanup and bug fix to ConsoleWidget's _insert_html_fetching_plain_text

File last commit:

r2783:3c79c2e7
r2800:bfd41c62
Show More
demo.py
63 lines | 2.0 KiB | text/x-python | PythonLexer
""" A demo of the Qt console-style IPython frontend.
"""
# Systemm library imports
from PyQt4 import QtCore, QtGui
# Local imports
from IPython.external.argparse import ArgumentParser
from IPython.frontend.qt.kernelmanager import QtKernelManager
def main():
""" Entry point for demo.
"""
# Parse command line arguments.
parser = ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument('--pure', action='store_true', help = \
'use a pure Python kernel instead of an IPython kernel')
group.add_argument('--pylab', action='store_true',
help='use a kernel with PyLab enabled')
parser.add_argument('--rich', action='store_true',
help='use a rich text frontend')
namespace = parser.parse_args()
# Don't let Qt or ZMQ swallow KeyboardInterupts.
import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)
# Create a KernelManager and start a kernel.
kernel_manager = QtKernelManager()
if namespace.pure:
kernel_manager.start_kernel(ipython=False)
elif namespace.pylab:
if namespace.rich:
kernel_manager.start_kernel(pylab='payload-svg')
else:
kernel_manager.start_kernel(pylab='qt4')
else:
kernel_manager.start_kernel()
kernel_manager.start_channels()
# Launch the application.
app = QtGui.QApplication([])
if namespace.pure:
from frontend_widget import FrontendWidget
kind = 'rich' if namespace.rich else 'plain'
widget = FrontendWidget(kind=kind)
else:
if namespace.rich:
from rich_ipython_widget import RichIPythonWidget
widget = RichIPythonWidget()
else:
from ipython_widget import IPythonWidget
widget = IPythonWidget()
widget.kernel_manager = kernel_manager
widget.setWindowTitle('Python' if namespace.pure else 'IPython')
widget.show()
app.exec_()
if __name__ == '__main__':
main()