Python|利用wxpython实现GUI编写

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

具体内容

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 wx

import os

class 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()

实现界面如下:

Python|利用wxpython实现GUI编写_第1张图片

图3.1 实现GUI界面

Python|利用wxpython实现GUI编写_第2张图片

图3.2按动按钮后界面

Python|利用wxpython实现GUI编写_第3张图片

图3.3 系统响应

结语

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

END

编  辑   |   王楠岚

责  编   |   李和龙

 where2go 团队


   

微信号:算法与编程之美          

长按识别二维码关注我们!

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

你可能感兴趣的:(Python|利用wxpython实现GUI编写)