设为首页 收藏本站
查看: 639|回复: 0

[经验分享] Python实例讲解 -- 认识wxpython 的 Frame

[复制链接]

尚未签到

发表于 2017-5-2 11:08:44 | 显示全部楼层 |阅读模式
  简单小代码:

#!/usr/bin/python
# -*- coding: GBK -*-
# simple.py
import wx
app = wx.App()
frame = wx.Frame(None)
frame.Show()
app.MainLoop()
   #!/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 需要设置一下,所以一个最简单的窗体就是:

frame = wx.Frame(None)
   窗体标题:

frame = wx.Frame(None,title="Hello World")
   位置和大小:

frame = wx.Frame(None,title="世界你好",size=(300,150),pos=(200,200))
   样式一:只有一个光秃秃的标题栏

frame = wx.Frame(None,style=wx.CAPTION)
   样式二:只有客户区,没有标题栏,也不能改变大小

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
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-372060-1-1.html 上篇帖子: 一个python的性能检测脚本 下篇帖子: 正则表达式在python中的应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表