随着近几年python的大火,越来越多的人开始使用python,大到人工智能,小到桌面小工具,python无所不能,使用wxpython来编写一些桌面小程序,可以很方便提高工作效率。本宅非专业程序员,本篇完全是以教为学,促进自己学习,也和大家共勉。wxpython安装方法不多赘述,网上很多,百度即可,下面进入正题。
本篇您将会了解
1.如何建立一个wxpython程序
2.使用一些简单的组件
一、Hello World(第一个wxPython程序)
国际惯例,先整个Hello World
import wx #1
app = wx.App() #2
my = wx.Frame(None,-1,"第一个框架程序") #3
wx.StaticText(my,label='Hello World') #4
my.Show() #5
app.MainLoop() #6
运行结果:
程序有点丑,不过没关系,以后我们会慢慢拓展,先结合结果来看看每一行代码都是什么意思。
总共六行代码:
1.第一行导入wxpython模块。
2.第二行和第六行是wxpython的固定套路,每个可运行的程序都要有这两行。其中wx.App()创建一个应用程序的对象,所有的UI都必须在该对象创建后才可以被初始化,而MainLoop()方法则是使该对象无限循环,所有的应用程序都是在内存中无限循环,我们才能看到UI界面。先记住这两行代码套路,以后会慢慢加深印象。
3.可以把wxpython程序比作搭积木,组件就类似一块块的积木,我们要做的就是把不同功能的积木堆积起来变成一个美观的程序。第三行的wx.Frame()就是要为搭积木而找来一张桌子,我们所有的积木都搭在这个桌子上,Frame类的作用就是如此,它为应用程序先铺好一个平台,以方便我们在这个平台上添加组件。当然这个平台默认是隐藏的,所有我们需要第5行的代码来显式的调用它,使它现形。
4.第四行代码是在Frame框架上放了一个标签组件,这个标签有个文本“Hello World”,这样我们就在这张“桌子”上堆了一个定义为标签的积木,以后我们要做的,也只不过是在这个桌子上继续添加不同标签以满足我们的需求。
我们来细看3,4行代码:
my = wx.Frame(None,-1,"第一个框架程序") #3
完整参数wx.Frame (parent, id, title, pos, size, style, name)
parent:窗口的复合类,在此无,所以是None,
id:窗口标识,通常-1为了让标识符自动生成
title:窗口名称
pos:生成的位置
size:窗口大小
style:窗口的外观按样式风格,常数控制
name:窗口名字
wx.StaticText(my,label='Hello World') #4
完整参数wx.StaticText(parent, id, title, pos, size, style, name),和Frame内涵一样,不过parent参数因为是要在Frame上搭载空间,所以参数就是Frame的对象。
二、继续添加组件(使用按钮和文本框)
根据上面搭积木的思想,我们想在桌子上再加两个空间,一个文本框,一个按钮要怎么搞?
按钮wx.Button,文本框wx.TextCtrl,照葫芦画瓢
import wx
app = wx.App()
my = wx.Frame(None,-1,"第一个框架程序")
wx.StaticText(my,label='Hello World')
wx.Button(my,-1,'ok',pos=(0,20))
wx.TextCtrl(my,pos=(0,60))
my.Show()
app.MainLoop()