wx.Notebook的标签美化(添加图例或者设置大小)。。

Ace_wgk 2011-05-04 04:34:28
如题,哪位大侠知道wx.Notebook添加的页面怎么美化一下标签么?有类似的函数或者参数设置可以改变标签的大小或者在标签上添加图例么,就像wx.Toolbook那样。(可惜,我wx.Toolbook写不出来,只好再修改已经成型的Notebook了)代码如下:

import wx,os,sys,string
import wx.lib.buttons
import wx.lib.buttons as buttons

from wxPython.wx import *



#界面############################主页############################################
class InFrame(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self, parent, id, '人机交互检索界面',size=(800, 670),pos=(250,70))
menubar = wx.MenuBar()
file = wx.Menu()
file.Append(100, '帮助', '' )
file.Append(101, '退出', '' )
menubar.Append(file, "&文件")
self.SetMenuBar(menubar)
wx.EVT_MENU(self, 101, self.OnQuit)

panel = wx.Panel(self)
nb = wx.Notebook(panel,style=wx.NB_FIXEDWIDTH)

page1 = PageOne(nb)
page3 = PageThree(nb)
page2 = PageTwo(nb,page3)

nb.AddPage(page1, "使用说明")
nb.AddPage(page2, "选择检索")
nb.AddPage(page3, "查看结果")

sizer = wx.BoxSizer()
sizer.Add(nb, 1, wx.EXPAND)
panel.SetSizer(sizer)
page1.SetFocus()
self.StatusBar()

def StatusBar(self):
self.statusbar = self.CreateStatusBar()
def OnQuit(self, event):
self.Close()



###########################使用说明1######################################
class PageOne(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
panel = wx.Panel(self)
colour = [(160,255,204),(153,204,255),(151,253,225),]
self.SetBackgroundColour(colour[0])
self.center = wx.StaticText(self, -1, "使用说明", (355, 45),
(100, -1), wx.ALIGN_CENTER)
font = wx.Font(14, wx.SWISS, wx.NORMAL, wx.BOLD)
self.center.SetFont(font)
###########################使用说明2######################################
class PageTwo(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
panel = wx.Panel(self)
colour = [(160,255,204),(153,204,255),(151,253,225),]
self.SetBackgroundColour(colour[0])
self.center = wx.StaticText(self, -1, "使用说明", (355, 45),
(100, -1), wx.ALIGN_CENTER)
font = wx.Font(14, wx.SWISS, wx.NORMAL, wx.BOLD)
self.center.SetFont(font)
###########################使用说明3######################################
class PageThree(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
panel = wx.Panel(self)
colour = [(160,255,204),(153,204,255),(151,253,225),]
self.SetBackgroundColour(colour[0])
self.center = wx.StaticText(self, -1, "使用说明", (355, 45),
(100, -1), wx.ALIGN_CENTER)
font = wx.Font(14, wx.SWISS, wx.NORMAL, wx.BOLD)
self.center.SetFont(font)


if __name__ == '__main__':
app = wx.PySimpleApp()
frame = InFrame(parent=None, id=-1)
frame.Show()
app.MainLoop()


...全文
316 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ace_wgk 2011-05-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 actberw 的回复:]
我也在找相关的内容,搞毕业设计呢,留个邮箱方便联系actberw@gmail.com
[/Quote]
你好,我没看到你的留言,我的邮箱wugengkun@126.com
actberw 2011-05-07
  • 打赏
  • 举报
回复
找到了,用wx.imageList在AddPage时指定image在imageList中的index
actberw 2011-05-07
  • 打赏
  • 举报
回复
我也在找相关的内容,搞毕业设计呢,留个邮箱方便联系actberw@gmail.com
Ace_wgk 2011-05-05
  • 打赏
  • 举报
回复
更正后代码如下(一开始问题中代码有些错误),希望有人可以帮我提些方法以便修改notebook的标签尺寸大小并且在标签上添加图标。谢谢!

# -*- coding: cp936 -*-
import wx,os,sys,string
import wx.lib.buttons
import wx.lib.buttons as buttons

from wxPython.wx import *



#界面############################主页############################################
class InFrame(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self, parent, id, '人机交互检索界面',size=(800, 670),pos=(250,70))
menubar = wx.MenuBar()
file = wx.Menu()
file.Append(100, '帮助', '' )
file.Append(101, '退出', '' )
menubar.Append(file, "&文件")
self.SetMenuBar(menubar)
wx.EVT_MENU(self, 101, self.OnQuit)

panel = wx.Panel(self)
nb = wx.Notebook(panel,style=wx.NB_FIXEDWIDTH)

page1 = PageOne(nb)
page3 = PageThree(nb)
page2 = PageTwo(nb)

nb.AddPage(page1, "使用说明")
nb.AddPage(page2, "选择检索")
nb.AddPage(page3, "查看结果")

sizer = wx.BoxSizer()
sizer.Add(nb, 1, wx.EXPAND)
panel.SetSizer(sizer)
page1.SetFocus()
self.StatusBar()

def StatusBar(self):
self.statusbar = self.CreateStatusBar()
def OnQuit(self, event):
self.Close()



###########################使用说明1######################################
class PageOne(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
panel = wx.Panel(self)
colour = [(160,255,204),(153,204,255),(151,253,225),]
self.SetBackgroundColour(colour[0])
self.center = wx.StaticText(self, -1, "使用说明1", (355, 45),
(100, -1), wx.ALIGN_CENTER)
font = wx.Font(14, wx.SWISS, wx.NORMAL, wx.BOLD)
self.center.SetFont(font)
###########################使用说明2######################################
class PageTwo(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
panel = wx.Panel(self)
colour = [(160,255,204),(153,204,255),(151,253,225),]
self.SetBackgroundColour(colour[0])
self.center = wx.StaticText(self, -1, "使用说明2", (355, 45),
(100, -1), wx.ALIGN_CENTER)
font = wx.Font(14, wx.SWISS, wx.NORMAL, wx.BOLD)
self.center.SetFont(font)
###########################使用说明3######################################
class PageThree(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
panel = wx.Panel(self)
colour = [(160,255,204),(153,204,255),(151,253,225),]
self.SetBackgroundColour(colour[0])
self.center = wx.StaticText(self, -1, "使用说明3", (355, 45),
(100, -1), wx.ALIGN_CENTER)
font = wx.Font(14, wx.SWISS, wx.NORMAL, wx.BOLD)
self.center.SetFont(font)


if __name__ == '__main__':
app = wx.PySimpleApp()
frame = InFrame(parent=None, id=-1)
frame.Show()
app.MainLoop()



iambic 2011-05-04
  • 打赏
  • 举报
回复
不要使用from wxPython.wx import *。直接from wx import *。wxPython早就被废弃了。
notebook还有flatnotebook和auinotebook什么的,你可以搜下。

37,722

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧