Python实例之wxpython中Frame使用方法


Posted in Python onJune 09, 2014

本节为大家分享的例子是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

Python 相关文章推荐
Python程序设计入门(2)变量类型简介
Jun 16 Python
Python的gevent框架的入门教程
Apr 29 Python
讲解Python中if语句的嵌套用法
May 14 Python
python cx_Oracle的基础使用方法(连接和增删改查)
Nov 19 Python
微信跳一跳小游戏python脚本
Jan 05 Python
django 在原有表格添加或删除字段的实例
May 27 Python
Flask框架URL管理操作示例【基于@app.route】
Jul 23 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
Dec 18 Python
用Anaconda安装本地python包的方法及路径问题(图文)
Jul 16 Python
python实现通过flask和前端进行数据收发
Aug 22 Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 Python
django数据模型中null和blank的区别说明
Sep 02 Python
wxpython学习笔记(推荐查看)
Jun 09 #Python
wxPython中文教程入门实例
Jun 09 #Python
python操作xml文件详细介绍
Jun 09 #Python
实例讲解python函数式编程
Jun 09 #Python
理解python多线程(python多线程简明教程)
Jun 09 #Python
Python高级应用实例对比:高效计算大文件中的最长行的长度
Jun 08 #Python
Python实例分享:快速查找出被挂马的文件
Jun 08 #Python
You might like
php等比例缩放图片及剪切图片代码分享
2016/02/13 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
PHP+JQUERY操作JSON实例
2017/03/23 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
js变量以及其作用域详解
2020/07/18 Javascript
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
jquery parent和parents的区别分析
2013/10/02 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
JavaScript加入收藏夹功能(兼容IE、firefox、chrome)
2014/05/05 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
javascript等号运算符使用详解
2015/04/16 Javascript
JS实现不规则TAB选项卡效果代码
2015/09/16 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
2015/12/10 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
详解自动生成博客目录案例
2016/12/09 Javascript
Vue动态实现评分效果
2017/05/24 Javascript
使用canvas实现一个vue弹幕组件功能
2018/11/30 Javascript
微信小程序API—获取定位的详解
2019/04/30 Javascript
JS/CSS实现字符串单词首字母大写功能
2019/09/03 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
Python input函数使用实例解析
2019/11/22 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
Python如何根据时间序列数据作图
2020/05/12 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
Python读取ini配置文件传参的简单示例
2021/01/05 Python
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
后勤主管工作职责
2013/12/07 职场文书
幼儿园家长会欢迎词
2014/01/09 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
九华山导游词
2015/02/03 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL
php7中停止php-fpm服务的方法详解
2021/05/09 PHP
MySQL的存储函数与存储过程的区别解析
2022/04/08 MySQL