wxPython使用指导

Posted Mrwhite86

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wxPython使用指导相关的知识,希望对你有一定的参考价值。

一、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)

 

以上是关于wxPython使用指导的主要内容,如果未能解决你的问题,请参考以下文章

Android - 片段中的 getIntent()

如何运行wxpython

用于 C 的 wxPython 语法高亮

wxPython实例代码(购物车)

如何为python 3.6安装wxPython phoenix

本地搭建robotframework + allure 遇到的问题