欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python实例之wxpython中Frame使用方法

程序员文章站 2023-11-23 18:02:10
本节为大家分享的例子是wxpython frame的用法。 例子: 复制代码 代码如下:#!/usr/bin/python  # -*- coding: g...

本节为大家分享的例子是wxpython frame的用法。

例子:

复制代码 代码如下:

#!/usr/bin/python 
# -*- coding: gbk -*- 
# simple.py 

import wx 

app = wx.app() 
frame = wx.frame(none) 
frame.show() 
app.mainloop()

例2,

复制代码 代码如下:

#!/usr/bin/python
告诉程序 python 解释器的路径,只是在 linux 系统下有用,在 windows 下写上这行代码不起作用,但是也没问题

# -*- coding: gbk -*-
告诉 python 系统字符编码,这样我们就可以在程序中使用中文汉字了,如果没有这一行就是乱码。windows 下是 gbk,linux 下是utf-8

app = wx.app()
初始化应用程序

frame = wx.frame(none)
frame.show()
创建一个 frame (就是窗体),并显示出来。

app.mainloop()
应用程序进入消息循环

frame 其实就是窗体,前面生成窗体时没有给他任何参数,只生成了一个默认的窗体,生成默认窗体的代码:
frame = wx.frame(none) 

其实 wx.frame 可以传入很多参数,由此来控制生成窗体的样式和行为,现在来看看 frame构造函数的原型:
__init__(self, window parent, int id=-1, string title=emptystring,  
            point pos=defaultposition, size size=defaultsize,  
            long style=default_frame_style, string name=framenamestr) 

参数1:parent
当前窗口的父窗口,如果当前窗口是top-level window的话,则parent=none,如果不是顶层窗口,则它的值为所属frame的名字

  参数2:id
  窗体编号。如果设置为-1,则系统自动给他分配一个编号。默认为-1.

  参数3:title
  窗体的标题栏,即caption。默认为空。

  参数4:pos
  窗体的位置坐标。默认值为(-1,-1),则窗体的位置由系统决定。

  参数5:size
  窗体的大小。默认值为(-1,-1),则窗体的大小由系统决定。

  参数6:style
  窗体样式。默认值为 default_frame_style

  默认样式 default_frame_style 是下面这些值的复合:
wx.minimize_box | wx.maximize_box | wx.resize_border | 
wx.system_menu | wx.caption | wx.close_box | wx.clip_children

  它包括最小化按钮、最大化按钮、系统菜单、标题栏、关闭按钮、可变大小等等。您也可以根据自己的需求改变样式,具体请参照帮助。

  参数7:name
  窗体名称。

  可以看到,7个参数中6个都有默认值,只有第一个参数 parent 需要设置一下,所以一个最简单的窗体就是:

python代码  收藏代码
frame = wx.frame(none) 

窗体标题:

python代码  收藏代码
frame = wx.frame(none,title="hello world") 

位置和大小:

python代码  收藏代码
frame = wx.frame(none,title="世界你好",size=(300,150),pos=(200,200)) 

样式一:只有一个光秃秃的标题栏

python代码  收藏代码
frame = wx.frame(none,style=wx.caption) 

样式二:只有客户区,没有标题栏,也不能改变大小

python代码  收藏代码
frame = wx.frame(none,style=0) 

样式三:只有一个关闭按钮,不能改变大小

复制代码 代码如下:

frame = wx.frame(none,style= wx.system_menu | wx.caption | wx.close_box) 
wx.default_frame_style :这是每个窗口的缺省风格,包含标题、可调节大小的边框,最大最小化按钮、关闭按钮和系统菜单。
wx.caption :在框架上增加一个标题栏,它显示该框架的标题属性。
wx.close_box :指示系统在框架的标题栏上显示一个关闭框,使用系统默认的位置和样式。
wx.frame_on_top : 置顶窗口
w x.frame_shap ed :用这个样式创建的框架可以使用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样式是否被应用。
wx.frame_ex_meta :如果时在 macos 中,这个属性用于是否显示“金属风格”
wx.frame_ex_contexthelp :是否有联机帮助按钮。
wx.frame_float_on_parent :窗口是否显示在最上层,与 wxstay_on_top 不同,它必须有一个父窗口。

frame窗体风格通过style属性来设置,例如:
style=wx.system_menu|wx.minimize_box|wx.close_box|wx.caption