前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Python|利用wxpython实现GUI编写

Python|利用wxpython实现GUI编写

作者头像
算法与编程之美
发布2020-04-01 09:48:15
发布2020-04-01 09:48:15
1.4K0
举报

1.介绍:GUI与wxpython

GUI即图形用户界面(Graphical User Interface),即计算机展示的每一个窗口。往往一个界面是连接很多API的载体,后台可能有多种语言支撑。但与语言种类没有关系,几乎每一种语言都可以编写出GUI。

wxpython是python的第三方库,本质上是一个GUI图形库,专门用来编写GUI界面,所以wxpython只是一个工具。Python编写GUI的优势在于编写简单易于理解,但可能效率没有其他语言高。

2.准备:wxpython安装

wxpython的安装也可以像python其他第三方库的安装方式一样,直接使用pip进行,执行如下:

pip install wxPython

还有根据pip支持内容下载.whl文件进行安装的方法,但此方法在网络上整理的比较详细,在此就不再过多介绍。

3.实战:自制GUI实现电脑关机,重启

Wxpython里附带的功能有很多种,例如文本框,图片,按钮等能在平时所见窗口见到的。MessageBox就是文本框功能,Button为按钮。

每个GUI都有自己的一个框架(Frame),就是边框,可以对边框进行随意配置,大小(size),样式(style),父界面(parents),标题(title)等等。方式就是通过类与函数去定义参数。

class Frame(wx.Frame): def __init__(self,parents,id,title): wx.Frame.__init__(self,None,1,”hello”)

方式必须以此为准,但只有parents是必须传参,其他都有默认参数。

而按钮的设置也如此,对位置,大小,内容进行设置,但是这个前提是需要一个“画布”(panel),来摆放按钮。将按下按钮后所发生的变化称为“事件”,其实编写的过程就是将“事件”与按钮捆绑,这里实现界面关机就是将系统关机重启API,即os.system()接入按钮实现。

接下来看代码:

import wximport osclass Frame(wx.Frame): def __init__(self,parents,id,title): wx.Frame.__init__(self,parents,id,title) panel= wx.Panel(self) button_power_off=wx.Button(panel,1003,u"关机") button_power_off.SetPosition((180,100)) self.Bind(wx.EVT_BUTTON,self.power_off,button_power_off) button_restart=wx.Button(panel,1003,u"重启") button_restart.SetPosition((70,100)) self.Bind(wx.EVT_BUTTON,self.restart,button_restart) def power_off(self,a): wx.MessageBox("一分钟后关机","确认关机") os.system("shutdown -s -t 60") def restart(self,a): wx.MessageBox("一分钟后重启","确认重启") os.system("shutdown -r -t 60") App = wx.App()Frame = Frame(None,1,"请选择对电脑进行的操作")Frame.Show()App.MainLoop()

实现界面如下:

图3.1 实现GUI界面

图3.2按动按钮后界面

图3.3 系统响应

结语

只要有足够多的手段与方式,就可以在自己的电脑上制作许多有趣的“游戏”,如可以完成网络上流行的垃圾窗口轰炸等。再深入探究,将事件与事件联系,甚至可以做出自己的一套操作系统或是更高水平。

END

编 辑 | 王楠岚

责 编 | 李和龙

where2go 团队

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档