Warning
This documentation is for an old version of IPython. You can find docs for newer versions here.
Module: qt.console.mainwindow
¶
The Qt MainWindow for the QtConsole
This is a tabbed pseudo-terminal of IPython sessions, with a menu bar for common actions.
Authors:
- Evan Patterson
- Min RK
- Erik Tollerud
- Fernando Perez
- Bussonnier Matthias
- Thomas Kluyver
- Paul Ivanov
1 Class¶
-
class
IPython.qt.console.mainwindow.
MainWindow
(app, confirm_exit=True, new_frontend_factory=None, slave_frontend_factory=None)¶ Bases:
PySide.QtGui.QMainWindow
-
__init__
(app, confirm_exit=True, new_frontend_factory=None, slave_frontend_factory=None)¶ Create a tabbed MainWindow for managing IPython FrontendWidgets
Parameters: app : reference to QApplication parent
confirm_exit : bool, optional
Whether we should prompt on close of tabs
new_frontend_factory : callable
A callable that returns a new IPythonWidget instance, attached to its own running kernel.
slave_frontend_factory : callable
A callable that takes an existing IPythonWidget, and returns a new IPythonWidget instance, attached to the same kernel.
Add action to menu as well as self
So that when the menu bar is invisible, its actions are still available.
If defer_shortcut is True, set the shortcut context to widget-only, where it will avoid conflict with shortcuts already bound to the widgets themselves.
-
add_tab_with_frontend
(frontend, name=None)¶ insert a tab with a given frontend in the tab bar, and give it a name
-
closeEvent
(event)¶ Forward the close event to every tabs contained by the windows
-
close_tab
(current_tab)¶ Called when you need to try to close a tab.
It takes the number of the tab to be closed as argument, or a reference to the widget inside this tab
-
create_tab_with_current_kernel
()¶ create a new frontend attached to the same kernel as the current tab
-
create_tab_with_new_frontend
()¶ create a new frontend and attach it to a new tab
-
find_master_tab
(tab, as_list=False)¶ Try to return the frontend that owns the kernel attached to the given widget/tab.
Only finds frontend owned by the current application. Selection based on port of the kernel might be inaccurate if several kernel on different ip use same port number.
This function does the conversion tabNumber/widget if needed. Might return None if no master widget (non local kernel) Will crash IPython if more than 1 masterWidget
When asList set to True, always return a list of widget(s) owning the kernel. The list might be empty or containing several Widget.
-
find_slave_widgets
(tab)¶ return all the frontends that do not own the kernel attached to the given widget/tab.
Only find frontends owned by the current application. Selection based on connection file of the kernel.
This function does the conversion tabNumber/widget if needed.
-
next_kernel_id
¶ constantly increasing counter for kernel IDs
Clean “All Magics...” menu and repopulate it with display_data
Parameters: display_data : dict,
dict of display_data for the magics dict of a MagicsManager. Expects json data, as the result of %lsmagic
Update the list of magics in the “All Magics...” Menu
Request the kernel with the list of available magics and populate the menu with the list received back
-
update_tab_bar_visibility
()¶ update visibility of the tabBar depending of the number of tab
0 or 1 tab, tabBar hidden 2+ tabs, tabBar visible
send a self.close if number of tab ==0
need to be called explicitly, or be connected to tabInserted/tabRemoved
-