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
这些值表示窗体有最大化按钮、最小化按钮、可改变大小的边框、系统菜单、标题栏、关闭按钮等等

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

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



【wxPython 笔记(8)设定窗体的样式】
//==========================================

    推荐阅读