1.2 Adding the main frame

1.2 Adding the main frame

绝大部分应用拥有某种主窗口去让其用户与软件交互。在wxPython里,这个window称作frame。frame是wxPython里最高等级的容器和建立大部分UI(user interfaces)的基础。这章会展示怎么构造一个frame并将其添加到一个应用中。

怎么做

  1. 写一个wx.Frame的子类
class MyFrame(wx.Frame):
    def __init__(self, parent, title=""):
        super(MyFrame, self).__init__(parent, title=title)

        # Set the panel
        self.panel = wx.Panel(self)

2.创建一个该类的对象并显示

class MyApp(wx.App):
    def OnInit(self):
        self.frame = MyFrame(None, title="Main Frame")
        self.frame.Show()
        return True

if __name__ == "__main__":
    app = MyApp(False)
    app.MainLoop()

它是怎么工作的

  • Frame类创建一个最高级别的窗口,该窗口可以用来提供(present)任何数量的其他控件。
  • 创建一个frame可以没有父窗口而且会一直停留在应用里直到用户关闭它

我们创建了Panel对象并设置了frame为其父窗口
* Panel是平面四边形控制部件(四边形)用于包含其他部件
* Panel会在frame边框内部作为长方形区域显示

最后,在app的OnInit方法中,我们创建了一个制定的frame实例,然后通过Show方法让该实例显示到屏幕上。这一节内容可以用于创建任何wxPthon应用

更多

wx.Frame对象的构造方法拥有一些样式标记(style flags)去指定所生成对象的行为和外观

样式标记(style flags)描述
wx.DEFAULT_FRAME_STYLE这个标记位掩码包含所有其他下面描述的内容
wx.MINIMIZE_BOX在标题栏上显示最小化按钮
wx.MAXIMIZE_BOX在标题栏上显示最大化按钮
wx.RESIZE_BORDER允许用户调整frame的大小
wx.CAPTION在标题栏上显示标题说明(title caption)
wx.CLOSE_BOX在标题栏上显示关闭按钮
wx.SYSTEM_MENU显示一个系统菜单(在Windows中,这个菜单会在点击icon时出现)
wx.CLIP_CHILDREN消除背景重绘时的闪烁(Windows Only)

wxFormBuilder中Frame的标记位:
这里写图片描述

这些样式标记可以通过任意位运算关闭或开启。如关闭标题栏最大化按钮

style = wx.DEFAULT_FRAME_STYLE&~wx.MAXIMIZE_BOX
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值