使用wxpython构建GUI
近期写了个树莓派使用opencv进行人脸识别的课设,为了在课堂上能够方便地展示我的代码,用wxpython构建了一个GUI
完整项目代码可以看我另一篇博文
基于树莓派和opencv的人脸识别项目
代码如下
import wx
import os
import cv2
import numpy as np
from PIL import Image
class MyFrame(wx.Frame):
def OnEraseBAck(self, event):
dc = event.GetDC()
if not dc:
dc = wx.ClientDC(self)
rect = self.GetUpdateRegion().GetBox()
dc.SetClippingRect(rect)
dc.Clear()
bmp = wx.Bitmap("Zhangwei.jpg")
dc.DrawBitmap(bmp, 0, 0)
def __init__(self,parent):
wx.Frame.__init__(self,parent,title='人脸识别',size=(466,325))
panel=wx.Panel(self)
panel.Bind(wx.EVT_ERASE_BACKGROUND,self.OnEraseBAck)
#创建按钮
self.btn1=wx.Button(parent=panel,id=10,label='图像采集',pos=(70,50),size=(100,50))
self.btn2=wx.Button(parent=panel,id=11,label='开始训练',pos=(70,100),size=(100,50))
self.btn3=wx.Button(parent=panel,id=12,label='人脸识别',pos=(70,150),size=(100,50))
self.btn4=wx.Button(parent=panel,id=13,label='人脸检测',pos=(70,200),size=(100,50))
#创建捆绑事件
#self.btn1.Bind(wx.EVT_BUTTON,self.on_btn1,self.btn1)
#self.btn2.Bind(wx.EVT_BUTTON,self.on_btn2, self.btn2)
#self.btn3.Bind(wx.EVT_BUTTON,self.on_btn3, self.btn3)
#self.btn4.Bind(wx.EVT_BUTTON,self.on_btn4,self.btn4)
#创建事件
#def on_btn1(self,event):...
#def on_btn3(self,event):...
#def on_btn4(self,event):...
#def on_btn5(self,event):...
if __name__=='__main__':
app=wx.App()
MyFrame(None).Show()
app.MainLoop()
效果如图(我爱张伟)