wxpython Frame(框架窗口)

构造函数

Frame(parent, id=ID_ANY, title="", pos=DefaultPosition,
size=DefaultSize, style=DEFAULT_FRAME_STYLE, name=FrameNameStr)

参数类型描述
parent(wx.Window)父窗口
id(wx.WindowID)窗口标识符,默认值-1
title(string串)标题栏上的标题
pos(wx.Point)窗口位置
size(wx.Size)窗口大小
style(long)窗口样式
name(string)窗口的名称。可以使用它来寻找这个窗口

窗口样式

  • wx.DEFAULT_FRAME_STYLE    默认样式
  • wx.RESIZE_BORDER       可调整窗口大小的边框
  • wx.CAPTION           标题栏
  • wx.MINIMIZE_BOX        最小化按钮
  • wx.MAXIMIZE_BOX       最大化按钮
  • wx.CLOSE_BOX         关闭按钮
  • wx.SYSTEM_MENU       标题栏中显示命令列表的系统菜单
  • wx.STAY_ON_TOP       保持在所有其他窗口之上
  • wx.FRAME_TOOL_WINDOW    不在任务栏显示的小标题栏窗口(类似工具栏)
  • wx.FRAME_NO_TASKBAR     不在任务栏显示的标准标题栏窗口
  • wx.FRAME_FLOAT_ON_PARENT  窗口始终位于其父级之上(父窗口不能为None)
  • wx.FRAME_SHAPED        允许使用SetShape 方法更改其形状
  • wx.ICONIZE      窗口最小化(仅限Windows)
  • wx.MINIMIZE      窗口最小化(仅限Windows)
  • wx.MAXIMIZE     窗口最大化(仅限Windows和GTK +)

默认样式 wx.DEFAULT_FRAME_STYLE
wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.CLIP_CHILDREN

class DemoFrame(wx.Frame):
    def __init__(self, parent):
    	wx.Frame.__init__(self, parent,) 	# ←← = ↓ 
        # wx.Frame.__init__(self, parent, style=wx.DEFAULT_FRAME_STYLE)

if __name__ == '__main__':
    app = wx.App()
    frame = DemoFrame(None)
    frame.Show()
    app.MainLoop()

标题栏  wx.CAPTION
如果没有标题栏(wx.CAPTION)
wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.CLOSE_BOX 将被忽略

style=wx.CAPTION

在这里插入图片描述

关闭按钮    wx.CLOSE_BOX
最大化按钮  wx.MAXIMIZE_BOX
最小化按钮  wx.MINIMIZE_BOX

wx.MINIMIZE_BOX:在wxGTK下必须使用wx.RESIZE_BORDER

style=wx.CAPTION | wx.CLOSE_BOX | wx.MAXIMIZE_BOX  | wx.MINIMIZE_BOX

在这里插入图片描述
最小化时不在任务栏显示
wx.FRAME_NO_TASKBAR

style = style=wx.CAPTION | wx.FRAME_NO_TASKBAR | wx.CLOSE_BOX | wx.MAXIMIZE_BOX  | wx.MINIMIZE_BOX

在这里插入图片描述
类似工具栏
wx.FRAME_TOOL_WINDOW

将会忽略 wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX | wx.SYSTEM_MENU
在这里插入图片描述

class DemoFrame(wx.Frame):
    def __init__(self, parent, style):
        wx.Frame.__init__(self, parent, title='',style=style)

if __name__ == '__main__':

    style = wx.CAPTION | wx.CLOSE_BOX | wx.MAXIMIZE_BOX  | \
     	wx.MINIMIZE_BOX | wx.FRAME_TOOL_WINDOW | wx.SYSTEM_MENU

    app = wx.App()
    frame = DemoFrame(None, style)
    frame.Show()
    app.MainLoop()

事件绑定

事件描述
EVT_CLOSEwxEVT_CLOSE_WINDOW 在用户关闭或以编程方式处理事件时
EVT_ICONIZE处理 wxEVT_ICONIZE 事件
EVT_MENU_OPEN即将打开一个菜单
EVT_MENU_CLOSE菜单刚刚关闭
EVT_MENU_HIGHLIGHT已突出显示具有指定ID的菜单项:用于通过状态栏中显示帮助提示
EVT_MENU_HIGHLIGHT_ALL菜单项已突出显示,即当前所选菜单项已更改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值