def __init__(self, parent, title): # Start the IPython kernel with gui support self.kapp = SimpleKernelApp('wx') wx.Frame.__init__(self, parent, -1, title, pos=(150, 150), size=(350, 285)) # Create the menubar menuBar = wx.MenuBar() # and a menu menu = wx.Menu() # add an item to the menu, using \tKeyName automatically # creates an accelerator, the third param is some help text # that will show up in the statusbar menu.Append(wx.ID_EXIT, "E&xit\tAlt-X", "Exit this simple sample") # bind the menu event to an event handler self.Bind(wx.EVT_MENU, self.OnTimeToClose, id=wx.ID_EXIT) # and put the menu on the menubar menuBar.Append(menu, "&File") self.SetMenuBar(menuBar) self.CreateStatusBar() # Now create the Panel to put the other controls on. panel = wx.Panel(self) # and a few controls text = wx.StaticText(panel, -1, "Hello World!") text.SetFont(wx.Font(14, wx.SWISS, wx.NORMAL, wx.BOLD)) text.SetSize(text.GetBestSize()) qtconsole_btn = wx.Button(panel, -1, "Qt Console") ns_btn = wx.Button(panel, -1, "Namespace") count_btn = wx.Button(panel, -1, "Count++") close_btn = wx.Button(panel, -1, "Quit") # bind the button events to handlers self.Bind(wx.EVT_BUTTON, self.kapp.new_qt_console, qtconsole_btn) self.Bind(wx.EVT_BUTTON, self.kapp.print_namespace, ns_btn) self.Bind(wx.EVT_BUTTON, self.kapp.count, count_btn) self.Bind(wx.EVT_BUTTON, self.OnTimeToClose, close_btn) # Use a sizer to layout the controls, stacked vertically and with # a 10 pixel border around each sizer = wx.BoxSizer(wx.VERTICAL) for ctrl in [text, qtconsole_btn, ns_btn, count_btn, close_btn]: sizer.Add(ctrl, 0, wx.ALL, 10) panel.SetSizer(sizer) panel.Layout()
def __init__(self, app): Qt.QWidget.__init__(self) self.app = app self.kapp = SimpleKernelApp('qt') self.add_widgets()