.. wxPython Phoenix documentation This file was generated by Phoenix's sphinx generator and associated tools, do not edit by hand. Copyright: (c) 2011-2020 by Total Control Software License: wxWindows License .. include:: headings.inc .. _wx.Notebook: ========================================================================================================================================== |phoenix_title| **wx.Notebook** ========================================================================================================================================== This class represents a notebook control, which manages multiple windows with associated tabs. To use the class, create a :ref:`wx.Notebook` object and call :meth:`wx.Notebook.AddPage ` or :meth:`wx.Notebook.InsertPage` , passing a window to be used as the page. Do not explicitly delete the window for a page that is currently managed by :ref:`wx.Notebook`. **NotebookPage** is a typedef for :ref:`wx.Window`. ^^ .. _Notebook-styles: |styles| Window Styles ================================ This class supports the following styles: - ``wx.NB_TOP``: Place tabs on the top side. - ``wx.NB_LEFT``: Place tabs on the left side. - ``wx.NB_RIGHT``: Place tabs on the right side. - ``wx.NB_BOTTOM``: Place tabs under instead of above the notebook pages. - ``wx.NB_FIXEDWIDTH``: (Windows only) All tabs will have same width. - ``wx.NB_MULTILINE``: (Windows only) There can be several rows of tabs. - ``wx.NB_NOPAGETHEME``: (Windows only) Display a solid colour on notebook pages, and not a gradient, which can reduce performance. ^^ The styles ``wx.NB_LEFT``, ``wx.RIGHT`` and ``wx.BOTTOM`` are not supported under Microsoft Windows when using visual themes. ^^ .. _Notebook-events: |events| Events Emitted by this Class ===================================== Handlers bound for the following event types will receive a :ref:`wx.BookCtrlEvent` parameter. - EVT_NOTEBOOK_PAGE_CHANGED: The page selection was changed. Processes a ``wxEVT_NOTEBOOK_PAGE_CHANGED`` event. - EVT_NOTEBOOK_PAGE_CHANGING: The page selection is about to be changed. Processes a ``wxEVT_NOTEBOOK_PAGE_CHANGING`` event. This event can be vetoed. ^^ |phoenix_title| Page backgrounds ================================ On Windows, the default theme paints a background on the notebook's pages. If you wish to suppress this theme, for aesthetic or performance reasons, there are three ways of doing it. You can use ``NB_NOPAGETHEME`` to disable themed drawing for a particular notebook, you can call :meth:`wx.SystemOptions.SetOption` to disable it for the whole application, or you can disable it for individual pages by using :meth:`~wx.Notebook.SetBackgroundColour`. To disable themed pages globally: :: wx.SystemOptions.SetOption("msw.notebook.themed-background", 0) Set the value to 1 to enable it again. To give a single page a solid background that more or less fits in with the overall theme, use: :: col = notebook.GetThemeBackgroundColour() if col.IsOk(): page.SetBackgroundColour(col) On platforms other than Windows, or if the application is not using Windows themes, :meth:`~wx.Notebook.GetThemeBackgroundColour` will return an uninitialised colour object, and the above code will therefore work on all platforms. .. seealso:: `wx.BookCtrl` , :ref:`wx.BookCtrlEvent`, :ref:`wx.ImageList`, :ref:`Notebook Sample ` | |class_hierarchy| Class Hierarchy ================================= .. raw:: html
Inheritance diagram for class Notebook:
| |appearance| Control Appearance =============================== | .. figure:: _static/images/widgets/fullsize/wxmsw/wx.notebook.png :alt: wxMSW :figclass: floatleft **wxMSW** .. figure:: _static/images/widgets/fullsize/wxmac/wx.notebook.png :alt: wxMAC :figclass: floatright **wxMAC** .. figure:: _static/images/widgets/fullsize/wxgtk/wx.notebook.png :alt: wxGTK :figclass: floatcenter **wxGTK** | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~wx.Notebook.__init__` Constructs a notebook control. :meth:`~wx.Notebook.ChangeSelection` Changes the selection to the given page, returning the previous selection. :meth:`~wx.Notebook.Create` Creates a notebook control. :meth:`~wx.Notebook.GetClassDefaultAttributes` :meth:`~wx.Notebook.GetPageImage` Returns the image index for the given page. :meth:`~wx.Notebook.GetPageText` Returns the string for the given page. :meth:`~wx.Notebook.GetRowCount` Returns the number of rows in the notebook control. :meth:`~wx.Notebook.GetSelection` Returns the currently selected page, or ``NOT_FOUND`` if none was selected. :meth:`~wx.Notebook.GetThemeBackgroundColour` If running under Windows and themes are enabled for the application, this function returns a suitable colour for painting the background of a notebook page, and can be passed to :meth:`~Notebook.SetBackgroundColour` . :meth:`~wx.Notebook.InsertPage` Inserts a new page at the specified position. :meth:`~wx.Notebook.SetPadding` Sets the amount of space around each page's icon and label, in pixels. :meth:`~wx.Notebook.SetPageImage` Sets the image index for the given page. :meth:`~wx.Notebook.SetPageText` Sets the text for the given page. :meth:`~wx.Notebook.SetSelection` Sets the selection to the given page, returning the previous selection. ================================================================================ ================================================================================ | |property_summary| Properties Summary ===================================== ================================================================================ ================================================================================ :attr:`~wx.Notebook.RowCount` See :meth:`~wx.Notebook.GetRowCount` :attr:`~wx.Notebook.Selection` See :meth:`~wx.Notebook.GetSelection` and :meth:`~wx.Notebook.SetSelection` :attr:`~wx.Notebook.ThemeBackgroundColour` See :meth:`~wx.Notebook.GetThemeBackgroundColour` ================================================================================ ================================================================================ | |api| Class API =============== .. class:: wx.Notebook(BookCtrlBase) **Possible constructors**:: Notebook() Notebook(parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=0, name=NotebookNameStr) This class represents a notebook control, which manages multiple windows with associated tabs. .. method:: __init__(self, *args, **kw) |overload| Overloaded Implementations: :html:`

` **__init__** `(self)` Constructs a notebook control. :html:`

` **__init__** `(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=0, name=NotebookNameStr)` Constructs a notebook control. Note that sometimes you can reduce flicker by passing the ``wx.CLIP_CHILDREN`` window style. :param `parent`: The parent window. Must be not ``None``. :type `parent`: wx.Window :param `id`: The window identifier. :type `id`: wx.WindowID :param `pos`: The window position. :type `pos`: wx.Point :param `size`: The window size. :type `size`: wx.Size :param `style`: The window style. See :ref:`wx.Notebook`. :type `style`: long :param `name`: The name of the control. :type `name`: string :html:`

` .. method:: ChangeSelection(self, page) Changes the selection to the given page, returning the previous selection. This function behaves as :meth:`SetSelection` but does `not` generate the page changing events. See :ref:`User Generated Events vs Programmatically Generated Events ` for more information. :param `page`: :type `page`: int :rtype: `int` .. method:: Create(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=0, name=NotebookNameStr) Creates a notebook control. See :ref:`wx.Notebook` for a description of the parameters. :param `parent`: :type `parent`: wx.Window :param `id`: :type `id`: wx.WindowID :param `pos`: :type `pos`: wx.Point :param `size`: :type `size`: wx.Size :param `style`: :type `style`: long :param `name`: :type `name`: string :rtype: `bool` .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL) :param `variant`: :type `variant`: wx.WindowVariant :rtype: :ref:`wx.VisualAttributes` .. method:: GetPageImage(self, nPage) Returns the image index for the given page. :param `nPage`: :type `nPage`: int :rtype: `int` .. method:: GetPageText(self, nPage) Returns the string for the given page. :param `nPage`: :type `nPage`: int :rtype: `string` .. method:: GetRowCount(self) Returns the number of rows in the notebook control. :rtype: `int` .. method:: GetSelection(self) Returns the currently selected page, or ``NOT_FOUND`` if none was selected. Note that this method may return either the previously or newly selected page when called from the ``EVT_BOOKCTRL_PAGE_CHANGED`` handler depending on the platform and so :meth:`wx.BookCtrlEvent.GetSelection` should be used instead in this case. :rtype: `int` .. method:: GetThemeBackgroundColour(self) If running under Windows and themes are enabled for the application, this function returns a suitable colour for painting the background of a notebook page, and can be passed to :meth:`SetBackgroundColour` . Otherwise, an uninitialised colour will be returned. :rtype: :ref:`wx.Colour` .. method:: InsertPage(self, index, page, text, select=False, imageId=NO_IMAGE) Inserts a new page at the specified position. :param `index`: Specifies the position for the new page. :type `index`: int :param `page`: Specifies the new page. :type `page`: wx.Window :param `text`: Specifies the text for the new page. :type `text`: string :param `select`: Specifies whether the page should be selected. :type `select`: bool :param `imageId`: Specifies the optional image index for the new page. :type `imageId`: int :rtype: `bool` :returns: ``True`` if successful, ``False`` otherwise. .. note:: Do not delete the page, it will be deleted by the book control. .. seealso:: :meth:`~wx.BookCtrlBase.AddPage` .. method:: SetPadding(self, padding) Sets the amount of space around each page's icon and label, in pixels. :param `padding`: :type `padding`: wx.Size .. note:: The vertical padding cannot be changed in wxGTK. .. method:: SetPageImage(self, page, image) Sets the image index for the given page. `image` is an index into the image list which was set with :meth:`SetImageList` . :param `page`: :type `page`: int :param `image`: :type `image`: int :rtype: `bool` .. method:: SetPageText(self, page, text) Sets the text for the given page. :param `page`: :type `page`: int :param `text`: :type `text`: string :rtype: `bool` .. method:: SetSelection(self, page) Sets the selection to the given page, returning the previous selection. Notice that the call to this function generates the page changing events, use the :meth:`ChangeSelection` function if you don't want these events to be generated. :param `page`: :type `page`: int :rtype: `int` .. seealso:: :meth:`GetSelection` .. attribute:: RowCount See :meth:`~wx.Notebook.GetRowCount` .. attribute:: Selection See :meth:`~wx.Notebook.GetSelection` and :meth:`~wx.Notebook.SetSelection` .. attribute:: ThemeBackgroundColour See :meth:`~wx.Notebook.GetThemeBackgroundColour`