wx.Notebook

This class represents a notebook control, which manages multiple windows with associated tabs.

To use the class, create a wx.Notebook object and call wx.Notebook.AddPage or 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 bywx.Notebook.

NotebookPage is a typedef for wx.Window.

 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.
  • wx.NB_FLAT: (Windows CE only) Show tabs in a flat style.

The styles wx.NB_LEFTwx.RIGHT and wx.BOTTOM are not supported under Microsoft Windows XP when using visual themes.

 Events Emitted by this Class

Handlers bound for the following event types will receive a 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.

 Page backgrounds

On Windows XP, the default theme paints a gradient 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 wx.SystemOptions.SetOption to disable it for the whole application, or you can disable it for individual pages by using 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, GetThemeBackgroundColour will return an uninitialised colour object, and the above code will therefore work on all platforms.

See also

wx.BookCtrl , wx.BookCtrlEventwx.ImageList, Notebook Sample

 

 Class Hierarchy

 Inheritance diagram for class Notebook:

 

 Control Appearance

 

wxMSW

wxMAC

wxGTK

 

 Methods Summary

__init__ Constructs a notebook control.
ChangeSelection Changes the selection to the given page, returning the previous selection.
Create Creates a notebook control.
GetPageImage Returns the image index for the given page.
GetPageText Returns the string for the given page.
GetRowCount Returns the number of rows in the notebook control.
GetSelection Returns the currently selected page, or NOT_FOUND if none was selected.
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 SetBackgroundColour .
InsertPage Inserts a new page at the specified position.
SetPadding Sets the amount of space around each page’s icon and label, in pixels.
SetPageImage Sets the image index for the given page.
SetPageText Sets the text for the given page.
SetSelection Sets the selection to the given page, returning the previous selection.
 

 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.

Methods


__init__(self*args**kw)

 Overloaded Implementations:


__init__ (self)

Constructs a notebook control.


__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.

Parameters:
  • parent (wx.Window) – The parent window. Must be not None.
  • id (wx.WindowID) – The window identifier.
  • pos (wx.Point) – The window position.
  • size (wx.Size) – The window size.
  • style (long) – The window style. See wx.Notebook.
  • name (string) – The name of the control.


ChangeSelection(selfpage)

Changes the selection to the given page, returning the previous selection.

This function behaves as SetSelection but does not generate the page changing events.

See User Generated Events vs Programmatically Generated Events for more information.

Parameters: page (int) –
Return type: int


Create(selfparentid=ID_ANYpos=DefaultPositionsize=DefaultSizestyle=0name=NotebookNameStr)

Creates a notebook control.

See wx.Notebook for a description of the parameters.

Parameters:
  • parent (wx.Window) –
  • id (wx.WindowID) –
  • pos (wx.Point) –
  • size (wx.Size) –
  • style (long) –
  • name (string) –
Return type:

bool


GetPageImage(selfnPage)

Returns the image index for the given page.

Parameters: nPage (int) –
Return type: int


GetPageText(selfnPage)

Returns the string for the given page.

Parameters: nPage (int) –
Return type: string


GetRowCount(self)

Returns the number of rows in the notebook control.

Return type: int


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 wx.BookCtrlEvent.GetSelection should be used instead in this case.

Return type: int


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 SetBackgroundColour .

Otherwise, an uninitialised colour will be returned.

Return type: wx.Colour


InsertPage(selfindexpagetextselect=FalseimageId=NO_IMAGE)

Inserts a new page at the specified position.

Parameters:
  • index (int) – Specifies the position for the new page.
  • page (wx.Window) – Specifies the new page.
  • text (string) – Specifies the text for the new page.
  • select (bool) – Specifies whether the page should be selected.
  • imageId (int) – Specifies the optional image index for the new page.
Return type:

bool

Returns:

True if successful, False otherwise.

Note

Do not delete the page, it will be deleted by the book control.

See also

AddPage


SetPadding(selfpadding)

Sets the amount of space around each page’s icon and label, in pixels.

Parameters: padding (wx.Size) –

Note

The vertical padding cannot be changed in wxGTK.


SetPageImage(selfpageimage)

Sets the image index for the given page.

image is an index into the image list which was set with SetImageList .

Parameters:
  • page (int) –
  • image (int) –
Return type:

bool


SetPageText(selfpagetext)

Sets the text for the given page.

Parameters:
  • page (int) –
  • text (string) –
Return type:

bool


SetSelection(selfpage)

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 ChangeSelection function if you don’t want these events to be generated.

Parameters: page (int) –
Return type: int

See also

GetSelection

Properties


RowCount

See GetRowCount


Selection

See GetSelection and SetSelection


ThemeBackgroundColour

See GetThemeBackgroundColour

wx.Notebook的更多相关文章

  1. wx

    wx The classes in this module are the most commonly used classes for wxPython, which is why they hav ...

  2. wx.BookCtrlBase

    wx.BookCtrlBase A book control is a convenient way of displaying multiple pages of information, disp ...

  3. wxpython wx.windows的API

    wx.Window is the base class for all windows and represents any visible object on screen. All control ...

  4. [ZETCODE]wxWidgets教程九:组件专题2

    本教程原文链接:http://zetcode.com/gui/wxwidgets/widgetsII/ 翻译:瓶哥 日期:2013年12月15日星期日 邮箱:414236069@qq.com 主页:h ...

  5. wxWidgets一个界面与数据分离的简单例子

    /*************************************************************** * Name: MyApp.h * Purpose: Defines ...

  6. wxPython Major类

    转载自:http://www.yiibai.com/wxpython/wxpython_major_classes.html   原始的 wxWidgets(用C++编写)是一个巨大的类库.GUI类从 ...

  7. wxpython tab切换页面

    最近没事学习下wxpython,发现很少有关于页面切换的demo,这边分享下2中切换的方法.第一种:利用wx.Notebook第二种:利用Sizer布局实现(自己写的),代码没有涉及到什么重构之类的优 ...

  8. Python 模块之wxpython 的应用

    第一个应用程序:“Hello World” 作为传统,我们首先将要写一个小的“Hello World”程序,下面是他的代码: #!/usr/bin/env python import wx app = ...

  9. wxPython之BoxSizer

    1 函数原型 sizer = wx.BoxSizer( integer orient ) 其中的方向(orient)可以是 wx.VERTICAL(垂直) 或 wx.HORIZONTAL(水平). 将 ...

随机推荐

  1. hightchart or hightstock 格式Y数据

    hightchart or hightstock 格式Y数据,鼠标放在上面显示两位小数 方法一: tooltip: { shared: true, crosshairs: true , formatt ...

  2. 如何测试一个U盘

    功能测试: 1 在windows xp比较流行的操作系统上是否可以识别(装了驱动后是否可以) 2 在电脑上显示的盘符是否正确 3 总空间,可用空间,已用空间是否显示正确 4 u盘中是否可以拷入各种格式 ...

  3. (七)boost库之单例类

    (七)boost库之单例类 一.boost.serialzation的单件实现 单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例类的特殊类.通过单例模式可以保证系统中一个类只有一 ...

  4. _itemFailedToPlayToEnd: { kind = 1; new = 2; old = 0; }

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenVveW91MTMxNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  5. POJ 3678 Katu Puzzle(2 - SAT) - from lanshui_Yang

    Description Katu Puzzle is presented as a directed graph G(V, E) with each edge e(a, b) labeled by a ...

  6. Swift版音乐播放器(简化版),swift音乐播放器

    这几天闲着也是闲着,学习一下Swift的,于是到开源社区Download了个OC版的音乐播放器,练练手,在这里发扬开源精神, 希望对大家有帮助! 这个DEMO里,使用到了 AudioPlayer(对音 ...

  7. 不管ACM是不是屠龙之技

    有一个目标,每天早上起床能让你保持斗志满满..找到自己的战场和归属. 这件事本身就是很难得的...是不是 ACM 并不重要. 你现在能从其他事情上获得这种体验么? -xiaodao

  8. C# 获取类似java gettime() 的时间格式

    今天做了一个面向Java的接口,需要做到时间的统一,C#提供了System.DateTime.UtcNow 但是需要自己做下处理,记录一下自己的方法, 留着以后查阅方便. /// <summar ...

  9. Visual Studio快速封装字段方法

    在面向对象的编程中我们常常要将各个字段封装为属性,但是当字段多的时候往往这个重复的操作会大大降低我们的开发效率,那么如何才能快速的封装字段呢?下面就给大家2个解决方法: 1.使用封装字段方法: 选中字 ...

  10. Netty详解

    Netty详解  http://blog.csdn.net/suifeng3051/article/category/2161821