wxpython学习笔记之wx.Frame 您所在的位置:网站首页 loginframe什么意思 wxpython学习笔记之wx.Frame

wxpython学习笔记之wx.Frame

2023-08-16 05:41| 来源: 网络整理| 查看: 265

   当创建wx.Frame的子类时,类应该调用其父类的构造器 wx.Frame.__init__()。wx.Frame的构造器所要求的参数如下:

wx.Frame(parent, id=-1, title=” ”, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE,name=”frame”)

参数说明:

parent:框架的父类,对于顶层窗口(SetTopWindow())这个值是None,框架虽父类窗口的销毁而销毁,框架可被限制值出现在服窗口的顶部;在多文档界面下,子窗口被限制为只能在父窗口中移动和缩放

id:新窗口wxpython ID 号,可以明确的传递一个正整数的值,或传递-1(wxpython将自动生成一个新的id,类似于wx.ID_ANY)

title:窗口的标题

pos:一个wx.point对象,它指定新窗口左上角在屏幕中的位置,在图形界面程序中(0,0)指显示器的左上角。如设置为(-1,-1)将让系统决定窗口的位置

size:窗口的大小,一个wx.size对象,默认为(-1,-1)时将由系统决定初始大小

style:指定窗口的类型常量,

name:框架的名称

这些参数传递给父类构造器的方法

wx.Frame.__init__()

创建wx.frame子类的方法

class Frame1(wx.Frame): def __init__(self): wx.Frame.__init__(self,None,-1,"my frame", (100,100),(100,100))

wxpython中的ID:

ID号是所有窗口部件的特征。在一个wxPython应用程序 中。每个窗口部件都有一个窗口标识。在每一个框架内,ID号必须是唯一的, 但是在框架之间你可以重用ID号。在wxPython中也有一些 标准的预定义的ID号,它们有特定的意思(例如,wx.ID_OK和 wx.ID_CANCEL是对话框中的OK和Cancel按钮的ID号)。ID号的最重要的用处是在指定的对象发生的事件和响应该事件的回调函数 之间建立唯一的关联

有三种方法来创建一个窗口部件使用的ID号:

1、明确地给构造器传递一个正的整数

2、使用wx.NewId()函数

3、传递一个全局常量wx.ID_ANY或-1给窗口部件的构造器 

要防止的程序使用相同的wxPython ID,应该避免 使用全局常量wx.ID_LOWEST和wx.ID_HIGHEST之间的ID号

使用wx.Size和wx.Point

wx.Point类表示一个点或位置。构造器要求点的x和y值。如果不设置x,y 值,则值默认为0。我们可以使用Set(x,y)和Get()函数来设置和得到x和y 值。Get()函数返回一个元组。x和y值可以像下面这样作为属性被访问:

point = wx.Point(10, 12) x = point.x y = point.y

在wx.Point的实参中,坐标值一般为整数。如果你需要浮点数坐标,你可 以使用类wx.RealPoint,它的用法如同wx.Point。

wx.Size类几乎和wx.Point完全相同,除了实参的名字是width和height。对 wx.Size的操作与wx.Point一样。

使用wx.Frame的样式

每个wxPython窗口部件都要求一个样式参数。它们中的一些也适用于别的wxPython窗口部件。一些窗口部 件也定义了一个SetStyle()方法,让你可以在该窗口部件创建后改变它的样式。 所有的你能使用的样式元素都有一个常量标识符(如wx.MINIMIZE_BOX)。 要使用多个样式,你可以使用或运算符|。如,wx.DEFAULT_FRAME_STYLE样式就被定义为如下几个基本样式的组 合: 

wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX | wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX

要从一个合成的样式中去掉个别的样式,你可以使用^操作符。例如要创 建一个默认样式的窗口,但要求用户不能缩放和改变窗口的尺寸,你可以这样 做:

wx.DEFAULT_FRAME_STYLE ^ (wx.RESIZE_BORDER | wx.MINIMIZE_BOX |wx.MAXIMIZE_BOX)

wx.Frame的最重要的样式:

wx.CAPTION:在框架上增加一个标题栏,它显示该框架的标题属性。

wx.CLOSE_BOX:指示系统在框架的标题栏上显示一个关闭框,使用系统默认的位 置和样式。

wx.DEFAULT_FRAME_STYLE:默认样式。

wx.FRAME_SHAPED:用这个样式创建的框架可以使用SetShape()方法去创建一个 非矩形的窗口。

wx.FRAME_TOOL_WINDOW:通过给框架一个比正常更小的标题栏,使框架看起 来像一个工具框窗口。在Windows下,使用这个样式创建的框架不会出现在显示所 有打开窗口的任务栏上。

wx.MAXIMIZE_BOX:指示系统在框架的标题栏上显示一个最大化框,使用系统默认 的位置和样式。 wx.MINIMIZE_BOX:指示系统在框架的标题栏上显示一个最小化框,使用系统默认 的位置和样式。

wx.RESIZE_BORDER:给框架增加一个可以改变尺寸的边框。

wx.SIMPLE_BORDER:没有装饰的边框。不能工作在所有平台上。

wx.SYSTEM_MENU:增加系统菜单(带有关闭、移动、改变尺寸等功能)和关闭 框到这个窗口。在系统菜单中的改变尺寸和关闭功能的有效性依赖于 wx.MAXIMIZE_BOX, wx.MINIMIZE_BOX和wx.CLOSE_BOX样式是否被应用。

 

 

注:本文摘自《wxPython in Action》



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有