构造函数
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_CLOSE | wxEVT_CLOSE_WINDOW 在用户关闭或以编程方式处理事件时 |
EVT_ICONIZE | 处理 wxEVT_ICONIZE 事件 |
EVT_MENU_OPEN | 即将打开一个菜单 |
EVT_MENU_CLOSE | 菜单刚刚关闭 |
EVT_MENU_HIGHLIGHT | 已突出显示具有指定ID的菜单项:用于通过状态栏中显示帮助提示 |
EVT_MENU_HIGHLIGHT_ALL | 菜单项已突出显示,即当前所选菜单项已更改 |