wxPython的使用
来源:互联网 发布:太空工程师编程模块 编辑:程序博客网 时间:2024/06/10 17:26
1. wxPython的官网下载wxPython,注意下载的版本要与python版本相对应。
http://www.wxpython.org/,下载完成后安装
2. 编写wxPython界面,可以先导入必须的wxPython包,创建窗口,然后创建合适的按钮、文本框等组件,然后使用sizer调整组件的位置、大小、对齐方式等,然后进入应用程序的主循环。
3. 下面是创建一GUI的简单实例
#!/usr/bin/env pythonimport wxapp=wx.App()win=wx.Frame(None,title="hello",size=(500,300))win.Show()but=wx.Button(win,label="ok",pos=(200,100),size(50,20))app.MainLoop()
Frame用于建立一个窗口,title和size分别制定标题和大小,Button用于建立一个按钮,MainLoop使程序进入事件处理循环。在制定按钮but大小时,使用了绝对坐标(200,100),它表示相对窗口左上角(200,100)的位置,然而在应用程序中,我们常常希望按钮的大小可以根据窗口自适应的改变,这时可以使用sizer,sizer本身并不是窗口,它的作用再用在于布局窗口中按钮。在创建应用程序时,Bind函数可以将按钮的动作与特定的函数绑定,当按钮上有动作时,这个函数就会启动,从而处理响应的事件。wxPython中的sizer可以分为Gridsizer(网格布局)Flex grid(对Grid做了改进,窗口部件可以有不同的尺寸)Grid bag(窗口部件可以更随意放置)Boxsizer(水平或者垂直的方向上布局组件)Staicboxsizer(带有标题和环线的Boxsizer)。Add函数的第一个参数指定要设置的组件,第二个参数设置组件缩放的比例(如果一个组件的proportion为1,而另外一个组件的proportion为2,在窗口的缩放中,它们的缩放的比例为1:2),第三个参数设置对齐方式。
下面是wxpython做的txt文本阅读器:
#!/usr/bin/env pythonimport wxdef catfile(event):file=open(filename.GetValue(),'r')contents.SetValue(file.read())file.close()app=wx.App()win=wx.Frame(None,title="txt reader",size=(500,350))bkg=wx.Panel(win)catfileButton=wx.Button(bkg,label='Open')catfileButton.Bind(wx.EVT_BUTTON,catfile)filename=wx.TextCtrl(bkg)contents=wx.TextCtrl(bkg,style=wx.TE_MULTILINE|wx.HSCROLL)hbox=wx.BoxSizer()hbox.Add(filename,proportion=1,flag=wx.EXPAND|wx.LEFT|wx.RIGHT,border=10)hbox.Add(catfileButton,proportion=0,flag=wx.LEFT)vbox=wx.BoxSizer(wx.VERTICAL)vbox.Add(hbox,proportion=0,flag=wx.EXPAND|wx.ALL)vbox.Add(contents,proportion=1,flag=wx.EXPAND|wx.LEFT|wx.BOTTOM|wx.RIGHT)bkg.SetSizer(vbox)win.Show()app.MainLoop()
运行结果如图:
- wxPython的简单使用
- wxpython的使用
- wxPython的使用
- wxPython的使用1
- wxPython:面板Panel的使用
- wxPython的安装与使用
- wxPython使用
- wxpython使用
- Python的wxPython的安装及使用
- wxpython 中wxOGL的使用 第一篇
- wxpython 中wxOGL的使用 第二篇
- wxpython 中wxOGL的使用 第三篇
- 一个简单的界面,使用wxpython
- wxPython使用基本的控件工作
- wxPython中list的简单使用
- wxPython中tree控件的简单使用
- Python WxPython 的安装以及使用
- 使用wxPython实现的简易版记事本
- NS2如何在路由层获取队列的长度
- Hadoop使用常见问题以及解决方法 (转)
- 改进版的 setdest
- Maven之pom.xml详解
- Android chromium 和 Android Webkit 区别
- wxPython的使用
- 面试——java的设计模式
- 在Linux下安装Nexus仓库管理器
- 关于在ASP.NET中以DCOM方式操作Excel的几个问题
- ns2/nam与nam实现相关的文件
- fail to create the java virtual machine 解决方法
- DWR调用入参为Map的方法
- 通过UART使用printf函数
- Java 多线程