Python实例之wxpython中Frame使用方法

 更新时间:2014年06月09日 21:03:33   作者:  
本文介绍下wxpython中Frame的用法,不错的python编程实例,有需要的朋友参考下

本节为大家分享的例子是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中使用模块的教程

    这篇文章主要介绍了在Python中使用模块的教程,示例代码基于Python2.x版本,需要的朋友可以参考下
    2015-04-04
  • 从零学Python之入门(三)序列

    从零学Python之入门(三)序列

    今天比较清闲,多写几篇入门篇,本文是入门系列的第三篇,我们来学习下Python中的序列。
    2014-05-05
  • Django 事务回滚的具体实现

    Django 事务回滚的具体实现

    本文主要介绍了Django 事务回滚的具体实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Python 实现Numpy中找出array中最大值所对应的行和列

    Python 实现Numpy中找出array中最大值所对应的行和列

    今天小编就为大家分享一篇Python 实现Numpy中找出array中最大值所对应的行和列,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python+Scipy实现自定义任意的概率分布

    Python+Scipy实现自定义任意的概率分布

    Scipy自带了多种常见的分布,如正态分布、均匀分布、二项分布、多项分布、伽马分布等等,还可以自定义任意的概率分布。本文将为大家介绍如何利用Scipy自定义任意的概率分布,感兴趣的可以了解下
    2022-08-08
  • python实现计算器简易版

    python实现计算器简易版

    这篇文章主要为大家详细介绍了python实现计算器简易版,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • Django 项目通过加载不同env文件来区分不同环境

    Django 项目通过加载不同env文件来区分不同环境

    这篇文章主要介绍了Django 项目如何通过加载不同env文件来区分不同环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • opencv实现图像旋转效果

    opencv实现图像旋转效果

    这篇文章主要为大家详细介绍了opencv实现图像旋转效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • python读取文件列表并排序的实现示例

    python读取文件列表并排序的实现示例

    本文主要介绍了python读取文件列表并排序的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 一键搞定python连接mysql驱动有关问题(windows版本)

    一键搞定python连接mysql驱动有关问题(windows版本)

    这篇文章主要介绍了对于mysql驱动问题折腾了一下午,现共享出解决方案,需要的朋友可以参考下
    2016-04-04

最新评论