wxPython 笔记(8)设定窗体的样式

在前面的学习笔记中,我们已经学习过了wx.Frame 初始化函数的几个参数,现在来回顾一下,分别是:

第一个参数 parent:父窗体的引用,如果没有则传入None;

第二个参数 id:窗口的 id 号码,一般传入wx.ID_ANY;

第三个参数 title:窗体的标题;

第四个参数 pos:窗体的位置;

第五个参数 size:窗体的大小;

 

下面我们学习

第六个参数 style:窗体的样式;

窗体的样式默认值为 wx.DEFAULT_FRAME_STYLE

wx.DEFAULT_FRAME_STYLE 其实是一些列值的组合,即

wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.CLIP_CHILDREN 

这些值表示窗体有最大化按钮、最小化按钮、可改变大小的边框、系统菜单、标题栏、关闭按钮等等

 

如果我们不使用默认的样式,就可以通过自己组合来改变窗体的样式。

 

下面的代码分别创建了六种不同样式的窗体,在代码中有详细地注释:

ExpandedBlockStart.gif 代码
 1  # !/usr/bin/python
 2  #  -*- coding: GBK -*-
 3 
 4  import  wx
 5 
 6  """
 7  设定窗体样式
 8  """
 9 
10  class  MyFrame(wx.Frame):
11      
12       def   __init__ (self,_title,_style):
13           # 只有一个关闭按钮,不能改变大小
14          wx.Frame. __init__ (self,parent = None,id = wx.ID_ANY,title = _title,size = ( 190 , 100 ),style = _style)
15           # 显示
16          self.Show()
17 
18  if   __name__ == ' __main__ ' :
19       # 初始化程序
20      app = wx.App()
21      
22       # 默认样式
23       #  wx.DEFAULT_FRAME_STYLE = wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.CLIP_CHILDREN
24      f1 = MyFrame( " #1 " ,wx.DEFAULT_FRAME_STYLE)
25      f1.MoveXY( 100 , 100 )
26      
27       #  只有客户区,没有标题栏,也不能改变大小
28      f2 = MyFrame( " #2 " ,0)
29      f2.MoveXY( 300 , 100 )
30 
31       #  只有一个光秃秃的标题栏
32      f3 = MyFrame( " #3 " ,wx.CAPTION)
33      f3.MoveXY( 500 , 100 )
34 
35       #  标题栏、系统菜单,只有移动功能
36      f4 = MyFrame( " #4 " ,wx.CAPTION  |  wx.SYSTEM_MENU )
37      f4.MoveXY( 700 , 100 )
38 
39       #  标题栏、可以改变大小
40      f5 = MyFrame( " #5 " ,wx.CAPTION  |   wx.RESIZE_BORDER)
41      f5.MoveXY( 900 , 100 )
42      
43       #  标题栏、可以改变大小
44      f6 = MyFrame( " #6 " ,wx.CAPTION  |  wx.SYSTEM_MENU  |  wx.MINIMIZE_BOX  |  wx.CLOSE_BOX)
45      f6.MoveXY( 1100 , 100 )
46 
47       # 开始消息循环
48      app.MainLoop()
49   

 

 

 

 

 

//==========================================

你可能感兴趣的:(python)