wxpython给框架添加窗口部件(一)
2016-11-17 10:32
295 查看
# -*- coding: utf-8 -*- import wx class Frame_01(wx.Frame): def __init__(self): wx.Frame.__init__(self,None,-1,'here we go',pos=wx.DefaultPosition,size=(300,100)) panel = wx.Panel(self) button = wx.Button(panel,label="Close",pos=(125,10),size=(50,50)) self.Bind(wx.EVT_BUTTON,self.onCloseMe,button) self.Bind(wx.EVT_CLOSE,self.onCloseWindow) def onCloseMe(self,event): self.Close(True) def onCloseWindow(self,event): self.Destroy() if __name__ == "__main__": app = wx.App() frame = Frame_01() frame.Show() app.MainLoop()
为什么wx.Button被创建时使用了明确的位置和尺寸,而wx.Panel没有。在wxPython中,如果只有一个子窗口的框架被创建,那么那个子窗口(例2.3中是wx.Panel)被自动重新调整尺寸去填满该框架的客户区域。这个自动调整尺寸将覆盖关于这个子窗口的任何位置和尺寸信息,尽管关于子窗口的信息已被指定,这些信息将被忽略。这个自动调整尺寸仅适用于框架内或对话框内的只有唯一元素的情况。这里按钮是panel的元素,而不是框架的,所以要使用指定的尺寸和位置。如果没有为这个按钮指定尺寸和位置,它将使用默认的位置(panel的左上角)和基于按钮标签的长度的尺寸。显式地指定所有子窗口的位置和尺寸是十分乏味的。更重要的是,当用户调整窗口大小的时候,这使得子窗口的位置和大小不能作相应调整。为了解决这两个问题,wxPython使用了称为sizers的对象来管理子窗口的复杂布局。
相关文章推荐
- wxPython 把窗口部件放入框架中
- android 添加桌面窗口小部件(托至桌面需要点击按钮才能生成的)
- wxPython中添加窗口标题图标
- Android中实现Launcher功能之二 ----- 添加窗口小部件以及AppWidget的创建详解
- 为JFrame和JDialog等窗口部件添加缺省按钮和响应Escape键盘事件
- Android中实现Launcher功能之二 ----- 添加窗口小部件以及AppWidget的创建详解
- 在MDI主框架窗口中添加图标Ico
- 在VC++项目中为MDI主框架窗口添加位图
- 在VC++项目中为MDI主框架窗口添加位图
- 虚幻UE4 添加窗口小部件3D---无需点击运行(Play)即可改变场景中游戏物体的形状
- 在VC++项目中为MDI主框架窗口添加位图(通过截获MDICLIENT的WM_PAINT消息)
- qt中在主窗口添加一个部件
- Android中实现Launcher功能之二 ----- 添加窗口小部件以及AppWidget的创建详解
- 在MDI主框架窗口中添加位图(转载自CSDN VC编程知识总结)
- android视图学习---添加窗口小部件以及AppWidget的创建详解和快捷方式
- 窗口部件添加
- Qt隐藏框架的窗口部件的移动事件处理
- Android中实现Launcher功能之二 ----- 添加窗口小部件以及AppWidget的创建详解
- wxPython中添加窗口标题图标
- Yii框架 AR 与 添加表单小部件