做人脸识别,需要一个图形界面,用来显示摄像头的视频,并有一些命令按钮之类的东西。在Python中,使用PyCharm IDE的话,利用PyQt5配合QtDesigner在界面程序编写方面具有功能丰富、入门简单的优点,非常适合各种编程小白。
但是,PyQt+QtDesigner的安装和设置有点麻烦,下面开始。
1、PyQt、QtDesigner的安装
打开cmd窗口,输入
pip install pyqt5
完成后,再安装QtDesigner和PyUIC
pip install pyqt5-tools
2、将QtDesigner和PyUIC链接到PyCharm的外部工具库
QtDesigner与PyCharm的链接见下图所示:点击PyCharm的File->Settings->Tools->External tools打开外部工具界面,点'+'号进入添加外部工具界面。在'Name'处输入工具名称,这个名称可以随便取,只要自己清楚就行,我这里写的是QtDesigner。然后,找到安装的designer.exe所在的路径(一般在python安装目录下的Lib\site-packages\pyqt5_tools文件夹里),将其路径复制到'Programs'处,注意要包含designer.exe的文件名。Working directory处设置自己的工作路径,qtdesigner生成的ui文件会默认保存在该路径。'Arguments'不用设置,确认即可。
接下来,按同样的方法添加pyuic,pyuic的作用是将qtdesigner生成的.ui文件转换成python可以识别的.py文件。其设置过程如下图所示,Programs处输入python.exe所在的路径和文件名。
Arguments处输入:
-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
在Working directory处输入:
$FileDir$
这样生成的py文件就会和被转换的ui文件位于相同的文件夹下。点击ok完成设置。
设置完成后就可以在PyCharm的Tools->External Tools菜单下看到我们刚刚添加的工具了。
3、界面设计
在PyCharm中,选择菜单File->New Project新建一个工程项目,如下图所示,输入该项目的路径和名称,这里设置项目名称为 face_reco
点击 Create,完成后,基本没什么东西。
单击Tools->External Tools->Qt designer打开QtDesigner。
QtDesigner打开后会自动弹出新建窗口的对话框,如果没有弹出的话可以单击File->New来打开该对话框。如下图所示,选择Main Windows,然后单击Create来创建一个主窗口。
QtDesigner打开后的界面如下图所示,这里用红框标出了四个常用的区域,左上角的区域显示了界面窗口所有使用的控件列表和对应的名称;左下角区域是所有可用的控件库;中间是工作区,我们可以将控件从控件库拖拽到工作区来组合我们的程序界面;右侧区域为控件属性设置区,在我们单击选中某一个控件后,它的属性就会在这里显示出来,我们也可以在这里对控件的属性进行修改。
先试一下,在左下角的控件菜单中找到Push Button,用鼠标左键将其拖到中间区域。
同样的方法,再创建一个Button和一个Label,如下图。
然后单击File->Save ,将当前界面保存到我们刚创建的 face_reco 项目文件夹下,文件名设为mainwindow.ui。
保存完成后,回到PyCharm中,可以看到我们的 face_reco t项目下多了一个mainwindow.ui文件。鼠标右键单击该文件调出右键菜单,单击External tools->PyUIC,程序会调用pyuic,将ui文件转换为py文件,执行完成后就会在该项目中生成一个mainwindow.py文件了。打开mainwindow.py文件会发现,里面只有一个Ui_MainWindow类,没有主程序,我们需要自己编写一个主程序来调用Ui_MainWindow类。
由于mainwindow.py是通过pyuic自动生成的,当我们在qtdesigner中对程序界面进行修改,并重新生成mainwindow.py时,里面原来的内容会被全部覆盖掉,因此我们尽量不要在mainwindow.py中添加自己的代码,而是新建一个py文件来调用mainwindow.py中的类,将自己的代码都放在新创建的文件中。
接下来右键单击 face_reco 项目,选择New->Python File新建一个Python文件,文件名设为 ,如下图:
打开该文件输入如下代码:
这时会发现 红色框中的 PyQt5 有下波浪线,说明这个模块还没有导入。
点击菜单 File -> Settings ,或 Ctrl+Alt+s,再选择 Project: face_rego -> Project Interpreter,如下图:
发现这里确实没有PyQt5,那就导入吧。点击右边的 + ,如下图:
搜索PyQt5,并安装,如下图:
安装完成后,菜单 Run -> Run 'testUI',刚才创建的UI运行结果如下图:
至此,我们初步创建一个用户界面并运行成功。
本节结束!