def init_qt_elements(self): # Create the widget. self.app = QtGui.QApplication([]) base_path = os.path.abspath(os.path.dirname(__file__)) icon_path = os.path.join(base_path, 'resources', 'icon', 'IPythonConsole.svg') self.app.icon = QtGui.QIcon(icon_path) QtGui.QApplication.setWindowIcon(self.app.icon) try: ip = self.config.KernelManager.ip except AttributeError: ip = LOCALHOST local_kernel = (not self.existing) or ip in LOCAL_IPS self.widget = self.widget_factory(config=self.config, local_kernel=local_kernel) self.init_colors(self.widget) self.widget._existing = self.existing self.widget._may_close = not self.existing self.widget._confirm_exit = self.confirm_exit self.widget.kernel_manager = self.kernel_manager self.window = MainWindow( self.app, confirm_exit=self.confirm_exit, new_frontend_factory=self.new_frontend_master, slave_frontend_factory=self.new_frontend_slave, ) self.window.log = self.log self.window.add_tab_with_frontend(self.widget) self.window.init_menu_bar() self.window.setWindowTitle('IPython')
def setUpClass(cls): """ Create the application for the test case. """ cls._app = QtGui.QApplication.instance() if cls._app is None: cls._app = QtGui.QApplication([]) cls._app.setQuitOnLastWindowClosed(False)
def init_qt_elements(self): # Create the widget. self.app = QtGui.QApplication([]) local_kernel = (not self.existing) or self.ip in LOCAL_IPS self.widget = self.widget_factory(config=self.config, local_kernel=local_kernel) self.widget.kernel_manager = self.kernel_manager self.window = MainWindow(self.app, self.widget, self.existing, may_close=local_kernel, confirm_exit=self.confirm_exit) self.window.setWindowTitle('Python' if self.pure else 'IPython')
def main(): usage, description = __doc__.split('\n\n', 1) parser = optparse.OptionParser(usage=usage, description=description) parser.add_option('--serial', '-s', default='/dev/ttyACM0') parser.add_option('--baudrate', '-b', type='int', default=115200) options, args = parser.parse_args() assert len(args) == 0 app = QtGui.QApplication(sys.argv) tv = TviewMainWindow(options) tv.show() app.exec_()
def init_qt_app(self): # separate from qt_elements, because it must run first self.app = QtGui.QApplication([])
def main(): """ Entry point for application. """ # Parse command line arguments. parser = ArgumentParser() kgroup = parser.add_argument_group('kernel options') kgroup.add_argument('-e', '--existing', action='store_true', help='connect to an existing kernel') kgroup.add_argument('--ip', type=str, default=LOCALHOST, help=\ "set the kernel\'s IP address [default localhost].\ If the IP address is something other than localhost, then \ Consoles on other machines will be able to connect\ to the Kernel, so be careful!") kgroup.add_argument('--xreq', type=int, metavar='PORT', default=0, help='set the XREQ channel port [default random]') kgroup.add_argument('--sub', type=int, metavar='PORT', default=0, help='set the SUB channel port [default random]') kgroup.add_argument('--rep', type=int, metavar='PORT', default=0, help='set the REP channel port [default random]') kgroup.add_argument('--hb', type=int, metavar='PORT', default=0, help='set the heartbeat port [default random]') egroup = kgroup.add_mutually_exclusive_group() egroup.add_argument('--pure', action='store_true', help = \ 'use a pure Python kernel instead of an IPython kernel') egroup.add_argument('--pylab', type=str, metavar='GUI', nargs='?', const='auto', help = \ "Pre-load matplotlib and numpy for interactive use. If GUI is not \ given, the GUI backend is matplotlib's, otherwise use one of: \ ['tk', 'gtk', 'qt', 'wx', 'inline'].") wgroup = parser.add_argument_group('widget options') wgroup.add_argument('--paging', type=str, default='inside', choices = ['inside', 'hsplit', 'vsplit', 'none'], help='set the paging style [default inside]') wgroup.add_argument('--plain', action='store_true', help='disable rich text support') wgroup.add_argument('--gui-completion', action='store_true', help='use a GUI widget for tab completion') wgroup.add_argument('--style', type=str, choices = list(get_all_styles()), help='specify a pygments style for by name') wgroup.add_argument('--stylesheet', type=str, help='path to a custom CSS stylesheet') wgroup.add_argument('--colors', type=str, help = \ "Set the color scheme (LightBG,Linux,NoColor). This is guessed \ based on the pygments style if not set.") args = parser.parse_args() # parse the colors arg down to current known labels if args.colors: colors=args.colors.lower() if colors in ('lightbg', 'light'): colors='lightbg' elif colors in ('dark', 'linux'): colors='linux' else: colors='nocolor' elif args.style: if args.style=='bw': colors='nocolor' elif styles.dark_style(args.style): colors='linux' else: colors='lightbg' else: colors=None # 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(xreq_address=(args.ip, args.xreq), sub_address=(args.ip, args.sub), rep_address=(args.ip, args.rep), hb_address=(args.ip, args.hb)) if not args.existing: # if not args.ip in LOCAL_IPS+ALL_ALIAS: # raise ValueError("Must bind a local ip, such as: %s"%LOCAL_IPS) kwargs = dict(ip=args.ip) if args.pure: kwargs['ipython']=False else: kwargs['colors']=colors if args.pylab: kwargs['pylab']=args.pylab kernel_manager.start_kernel(**kwargs) kernel_manager.start_channels() # Create the widget. app = QtGui.QApplication([]) local_kernel = (not args.existing) or args.ip in LOCAL_IPS if args.pure: kind = 'plain' if args.plain else 'rich' widget = FrontendWidget(kind=kind, paging=args.paging, local_kernel=local_kernel) elif args.plain: widget = IPythonWidget(paging=args.paging, local_kernel=local_kernel) else: widget = RichIPythonWidget(paging=args.paging, local_kernel=local_kernel) widget.gui_completion = args.gui_completion widget.kernel_manager = kernel_manager # Configure the style. if not args.pure: # only IPythonWidget supports styles if args.style: widget.syntax_style = args.style widget.style_sheet = styles.sheet_from_template(args.style, colors) widget._syntax_style_changed() widget._style_sheet_changed() elif colors: # use a default style widget.set_default_style(colors=colors) else: # this is redundant for now, but allows the widget's # defaults to change widget.set_default_style() if args.stylesheet: # we got an expicit stylesheet if os.path.isfile(args.stylesheet): with open(args.stylesheet) as f: sheet = f.read() widget.style_sheet = sheet widget._style_sheet_changed() else: raise IOError("Stylesheet %r not found."%args.stylesheet) # Create the main window. window = MainWindow(app, widget, args.existing, may_close=local_kernel) window.setWindowTitle('Python' if args.pure else 'IPython') window.show() # Start the application main loop. app.exec_()
self.console = EmbedIPython(testing=123, a=self.a) print "type( console)", type(self.console) #self.console.kernel.shell.run_cell('%pylab qt') vbox = QtGui.QVBoxLayout() hbox = QtGui.QHBoxLayout() vbox.addWidget(self.textEdit) vbox.addWidget(self.console) hbox.addWidget(but1) hbox.addWidget(but2) vbox.addLayout(hbox) b = QtGui.QWidget() b.setLayout(vbox) self.setCentralWidget(b) def but_read(self): self.a['text'] = self.textEdit.toPlainText() self.console.execute("print('a[\\\'text\\\'] = \"'+ a['text'] +'\"')") def but_write(self): self.textEdit.setText(self.a['text']) if __name__ == '__main__': import sys app = QtGui.QApplication(sys.argv) main = MainWindow() main.show() sys.exit(app.exec_())