一、wxPython简介
这是Python一个非常不错的GUI开发库,免费、开源、跨平台,可用组件众多,借助这些组件,程序员可以快速创建完整、功能全面的用户界面,因此应用非常广泛
二、安装方式:
pip install wxpython
三、wxPython简单实现
import wx
app = wx.App()
#创建一个顶级窗口作为wx.Frame类的对象,设置窗体的大小
window = wx.Frame(None, title = "wxPython Frame", size = (300,200))
#将一个Panel对象放入框架中
panel = wx.Panel(window)
#添加一个StaticText对象以在窗口内的所需位置显示'Hello World',并设置位置
label = wx.StaticText(panel, label = "Hello World", pos = (50,50))
#通过show()方法激活框架窗口
window.Show(True)
#输入Application对象的主事件循环
app.MainLoop()
显示展示结果:
四、wxPython GUI生成器的使用(wxFormBuilder):
安装步骤:http://sourceforge.net/projects/wxformbuilder/
可根据界面化工具生成对应的frame、button、lable、text等ui组件,并自动生成python脚本
导入pycharm内,补充对应的按钮事件和方法,可简化代码的编写
五、wx主要组件
1、frame(窗口)
parent = None #父元素,假如为None,代表顶级窗口
id = None #组件的标识,唯一,假如id为-1代表系统分配id
title = None #窗口组件的名称
pos = None #组件的位置,就是组件左上角点距离父组件或者桌面左和上的距离
size = None #组件的尺寸,宽高
style = None #组件的样式
name = None #组件的名称,也是用来标识组件的,但是用于传值
2、TextCtrl(文本框)
parent = None #父元素,假如为None,代表顶级窗口
id = None #组件的标识,唯一,假如id为-1代表系统分配id
value = None #文本框当中的内容
GetValue #获取文本框的值
SetValue #设置文本框的值
pos = None #组件的位置,就是组件左上角点距离父组件或者桌面左和上的距离
size = None #组件的尺寸,宽高
style = None #组件的样式
validator = None #验证
name = None #组件的名称,也是用来标识组件的,但是用于传值
3、Button(按钮)
parent = None #父元素,假如为None,代表顶级窗口
id = None #组件的标识,唯一,假如id为-1代表系统分配id
lable = None #按钮的标签
pos = None #组件的位置,就是组件左上角点距离父组件或者桌面左和上的距离
size = None #组件的尺寸,宽高
style = None #组件的样式
validator = None #验证
name = None #组件的名称,也是用来标识组件的,但是用于传值
4、事件绑定
定义事件函数
def openfile(event):
path = path_text.GetValue()
with open(path,"r",encoding="utf-8") as f: #encoding 设置文件打开时指定为utf8编码,避免写文件时出现编码错误
content_text.SetValue(f.read())
绑定出发事件的条件和组件
open_button.Bind(wx.EVT_BUTTON,openfile)