Python wxPython在资源上比较小,而且官方文档也不好找,wxPython在python 2.x和python 3.x安装上有区别:
以下为python3.x安装为例:
1.网上下载whl文件安装:路径:https://wxpython.org/Phoenix/snapshot-builds/
文件名解释:
wxPython_Phoenix-3.0.3.dev2812+b3485d4-cp35-cp35m-win_amd64.whl
cp35代表python版本3.5
然后用pip安装即可完成安装。
简单使用:
这里有2中方法使用,第一就是用wxFormBuilder这款开源软件直接进行简单编辑界面,生成代码可以直接复制到py文件,直接运行即可实现GUI简单开发。wxFormBuilder下载地址:
https://sourceforge.net/projects/wxformbuilder/
wxFormBuilder简单使用方法可以网上自己找找。
第二种就是直接写代码形式,这个比较考验对API的熟悉掌握程度。不过大致上都是有一个固定格式的。
格式如下:
import wx
class Frame(wx.Frame): # 定义一个 wx.Frame的子类,以便我们更容量控制框架的内容和外观
""" Frame class that displays an image."""
def __init__(self, image, parent=None, id=-1,
pos=wx.DefaultPosition,
title='Hello, wxPython!'): # 给我们的框架的构造器增加一个图像参数。这个值通过我们的应用程序
# 类在创建一个框架的实例时提供
"""Create a Frame instance and display image.""" # 用 wx.StaticBitmap控件来显示这个图像,它要求一个位图
temp = image.ConvertToBitmap()
size = temp.GetWidth(), temp.GetHeight()
wx.Frame.__init__(self, parent, id, title, pos, size)
self.bmp = wx.StaticBitmap(parent=self, bitmap=temp)
class App(wx.App): # 定义一个带有 OnInit()方法的 wx.App的子类
"""Application class."""
def OnInit(self): # 使用与 hello.py在同一目录下的名为 wxPython.jpg的文件创建了一个图像对象
image = wx.Image('wxPython.jpg', wx.BITMAP_TYPE_JPEG)
self.frame = Frame(image)
self.frame.Show()
self.SetTopWindow(self.frame)
return True
def main(): # main()函数创建一个应用程序的实例并启动wxPython的事件循环
app = App()
app.MainLoop()
if __name__ == '__main__':
main()
这是重写类的方法,这比较常用的,而且用wxFormBuilder生成的代码也是这样的格式。
至于各个控件的属性,方法,参数的就不一一列举,具体可以看官网文档:
https://wxpython.org/Phoenix/docs/html/main.html
http://xoomer.virgilio.it/infinity77/wxPython/widgets.html#t
个人比较推荐第二个,,感觉比较齐全