Python | 人脸识别系统 — UI界面设计

这篇具有很好参考价值的文章主要介绍了Python | 人脸识别系统 — UI界面设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

博客汇总:Python | 人脸识别系统 — 博客索引

GitHub地址:Su-Face-Recognition

注:阅读本博客前请先参考

工具安装、环境配置:Python | 人脸识别系统 — 简介

一、UI界面编写

1、基础使用

        本项目采用PyQt库作为UI界面的编写,使用Qt-Designer、PyUIC自动生成UI界面代码。

关于PyQt库的详细使用可以参考该系列博客:

1、PyQt基础教程

2、使用PyQt开发图形界面Python应用专栏目录

        打开PyCharm,选择 工具 -> External Tools -> Qt-Designal .

注意:Qt-Designer并非PyCharm自带,需要自行安装,可以参考博客:PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程

人脸识别gui界面,Python,pycharm,python,qt,css

         打开工具后,选择 MainWindow ,点击创建。

人脸识别gui界面,Python,pycharm,python,qt,css

         从界面左端选择你需要的组件,拖到工作区内,选择好布局。

        双击组件,可以修改需要显示的内容,如“按钮1”

人脸识别gui界面,Python,pycharm,python,qt,css

         在界面右端修改组件名。工具默认组件名为“组件类型+数字”,这样你在输出代码的时候就不知道这个组件是干什么用的了。建议修改组件为“组件功能+组件类型”,如 login_button

人脸识别gui界面,Python,pycharm,python,qt,css

         点击保存,选择保存路径(一般为你的项目目录下)。保存之后,你就会发现项目下多了一个以.ui结尾的文件。

人脸识别gui界面,Python,pycharm,python,qt,css

​         点击该.ui文件(注意一定要点击一下)。然后选择 工具 -> Exteneral Tools -> PyUIC .

注意:PyUIC同样并非PyCharm自带,需要自行安装,可以参考上面博客:PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程

人脸识别gui界面,Python,pycharm,python,qt,css

​         运行之后,你会发现,ui文件下多了一个同样名字的.py文件,这个就是工具为我们自动生成的代码。只需要在下方添加如下代码,就可以运行查看效果:

人脸识别gui界面,Python,pycharm,python,qt,css

​         生成的代码:

人脸识别gui界面,Python,pycharm,python,qt,css

​         添加如下代码:

import sys
if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    widgets = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(widgets)
    widgets.show()
    sys.exit(app.exec_())

        运行效果:

人脸识别gui界面,Python,pycharm,python,qt,css

​         这就是PyQt编写UI界面的基本流程了,本项目的UI界面的布局基本上都是根据这种方式编写出来的。

2、项目UI基础

这里仅展示用户主界面的代码,更多代码可以参考本项目GitHub地址:

        项目的初始界面如下:

人脸识别gui界面,Python,pycharm,python,qt,css

​         项目的初始代码如下:

 注意:按钮旁边的图标使用了qtawesome库,需要自行下载,下载可参考博客:Qt5开发工具---常用Qt5开发工具

# -*- coding: utf-8 -*-
import sys
import qtawesome
from PyQt5 import QtCore, QtWidgets
from PyQt5.QtCore import Qt
from PyQt5.QtGui import *


class UserMainUi(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("UserMainWindow")
        MainWindow.resize(1200, 800)

        # ------------ 整体界面设计,使用网格布局 ------------ #
        self.main_widget = QtWidgets.QWidget(MainWindow)  # 创建窗口主部件
        self.main_layout = QtWidgets.QGridLayout()  # 创建主部件的网格布局
        self.main_widget.setLayout(self.main_layout)  # 设置窗口主部件布局为网格布局

        self.left_widget = QtWidgets.QWidget(MainWindow)  # 创建左侧部件
        self.left_widget.setObjectName('left_widget')
        self.left_layout = QtWidgets.QGridLayout()
        self.left_widget.setLayout(self.left_layout)  # 设置左侧部件布局为网格

        self.right_widget = QtWidgets.QWidget(MainWindow)  # 创建右侧部件
        self.right_widget.setObjectName('right_widget')
        self.right_layout = QtWidgets.QGridLayout()
        self.right_widget.setLayout(self.right_layout)  # 设置右侧部件布局为网格

        self.main_layout.addWidget(self.left_widget, 0, 0, 15, 2)  # 左侧部件在第0行第0列,占15行2列
        self.main_layout.addWidget(self.right_widget, 0, 2, 15, 10)  # 右侧部件在第0行第2列,占15行10列
        MainWindow.setCentralWidget(self.main_widget)  # 设置窗口主部件

        # ------------ 左侧菜单模块,使用网格布局 ------------ #
        # 关闭按钮
        self.close_button = QtWidgets.QPushButton("")
        # 空白按钮
        self.other_button = QtWidgets.QPushButton("")
        # 最小化按钮
        self.minimize_button = QtWidgets.QPushButton("")

        # JUNIOR 标志
        self.left_label_1 = QtWidgets.QPushButton("JUNIOR")
        self.left_label_1.setObjectName('left_label')
        # SENIOR 标志
        self.left_label_2 = QtWidgets.QPushButton("SENIOR")
        self.left_label_2.setObjectName('left_label')

        # 打开摄像头 按钮
        self.camera_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.video', color='white'), "打开相机")
        self.camera_button.setObjectName('left_button')
        # 用户登录 按钮
        self.login_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.user-alt', color='white'), "用户登录")
        self.login_button.setObjectName('left_button')

        # 用户登出 按钮
        self.logout_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.sign-out-alt', color='white'), "用户登出")
        self.logout_button.setObjectName('left_button')
        # 用户注册 按钮
        self.register_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.user-plus', color='white'), "用户注册")
        self.register_button.setObjectName('left_button')
        # 查询用户 按钮
        self.query_user_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.search', color='white'), "修改信息")
        self.query_user_button.setObjectName('left_button')

        # 人脸识别 按钮
        self.recognition_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.eye', color='white'), "人脸识别")
        self.recognition_button.setObjectName('left_button')
        # 人脸对比 按钮
        self.face_compare_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.people-arrows', color='white'),
                                                         "人脸对比")
        self.face_compare_button.setObjectName('left_button')
        # 活体检测 按钮
        self.biopsy_testing_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.atom', color='white'), "活体检测")
        self.biopsy_testing_button.setObjectName('left_button')
        # 精细分割 按钮
        self.fine_segmentation_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.cut', color='white'), "精细分割")
        self.fine_segmentation_button.setObjectName('left_button')
        # 关键点检测 按钮
        self.attitude_detection_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.draw-polygon', color='white'),
                                                               "姿态检测")
        self.attitude_detection_button.setObjectName('left_button')

        # 添加左侧按钮
        self.left_layout.addWidget(self.close_button, 0, 0, 1, 1)
        self.left_layout.addWidget(self.minimize_button, 0, 2, 1, 1)
        self.left_layout.addWidget(self.other_button, 0, 1, 1, 1)

        self.left_layout.addWidget(self.left_label_1, 1, 0, 1, 3)
        self.left_layout.addWidget(self.camera_button, 2, 0, 1, 3)
        self.left_layout.addWidget(self.login_button, 3, 0, 1, 3)
        self.left_layout.addWidget(self.logout_button, 4, 0, 1, 3)
        self.left_layout.addWidget(self.register_button, 5, 0, 1, 3)
        self.left_layout.addWidget(self.query_user_button, 6, 0, 1, 3)

        self.left_layout.addWidget(self.left_label_2, 7, 0, 1, 3)
        self.left_layout.addWidget(self.recognition_button, 8, 0, 1, 3)
        self.left_layout.addWidget(self.biopsy_testing_button, 9, 0, 1, 3)
        self.left_layout.addWidget(self.face_compare_button, 10, 0, 1, 3)
        self.left_layout.addWidget(self.fine_segmentation_button, 11, 0, 1, 3)
        self.left_layout.addWidget(self.attitude_detection_button, 12, 0, 1, 3)

        # ------------ 右侧模块,使用网格布局 ------------ #
        # 摄像头展示部分
        self.camera_label = QtWidgets.QLabel('\n人脸识别\n\n系统')
        self.camera_label.setAlignment(Qt.AlignCenter)
        self.camera_label.setObjectName('camera_label')

        # 信息展示界面
        self.img_label_1 = QtWidgets.QLabel('')
        self.img_label_2 = QtWidgets.QLabel('')
        self.img_label_3 = QtWidgets.QLabel('')
        self.msg_label_1 = QtWidgets.QLabel('')
        self.msg_label_2 = QtWidgets.QLabel('')
        self.msg_label_3 = QtWidgets.QLabel('')
        self.remind_label = QtWidgets.QLabel('')

        self.right_layout.addWidget(self.camera_label, 1, 0, 3, 10)
        self.right_layout.addWidget(self.img_label_1, 5, 1, )
        self.right_layout.addWidget(self.img_label_2, 5, 3, )
        self.right_layout.addWidget(self.img_label_3, 5, 5, )
        self.right_layout.addWidget(self.msg_label_1, 5, 2, )
        self.right_layout.addWidget(self.msg_label_2, 5, 4, )
        self.right_layout.addWidget(self.msg_label_3, 5, 6, )
        self.right_layout.addWidget(self.remind_label, 5, 3, )

        self.camera_label.setMinimumSize(QtCore.QSize(900, 560))
        self.camera_label.setMaximumSize(QtCore.QSize(900, 560))

        labels = [self.img_label_1, self.msg_label_1,
                  self.img_label_2, self.msg_label_2,
                  self.img_label_3, self.msg_label_3]
        for label in labels:
            label.setMinimumSize(QtCore.QSize(150, 200))
            label.setMaximumSize(QtCore.QSize(150, 200))

        self.remind_label.setMinimumSize(QtCore.QSize(170, 200))
        self.remind_label.setMaximumSize(QtCore.QSize(170, 200))


if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    widgets = QtWidgets.QMainWindow()
    ui = UserMainUi()
    ui.setupUi(widgets)
    widgets.show()
    sys.exit(app.exec_())

3、项目UI美化

        通过以下方式进行界面的美化工作:

        (1)美化控制按钮

                通过 setFixedSize 方法设置按钮大小,通过 setStyleSheet 方法设置按钮CSS样式:

        self.close_button.setFixedSize(28, 28)
        self.other_button.setFixedSize(28, 28)
        self.minimize_button.setFixedSize(28, 28)

        self.close_button.setStyleSheet('''
            QPushButton{
                background:#F76677;
                border-radius:7px;}
            QPushButton:hover{
                background:red;}''')
        self.other_button.setStyleSheet('''
            QPushButton{
                background:#F7D674;
                border-radius:7px;}
            QPushButton:hover{
                background:yellow;}''')
        self.minimize_button.setStyleSheet('''
            QPushButton{
                background:#6DDF6D;
                border-radius:7px;}
            QPushButton:hover{
                background:green;}''')

                效果:

人脸识别gui界面,Python,pycharm,python,qt,css

​        (2)美化左侧布局

                通过 setStyleSheet 方法设置左侧布局 left_widget 的样式,其中CSS样式的 QWidget #left_label 等字段对应上方初始化代码组件 setObjectName 方法的值,如:

        self.left_label_1.setObjectName('left_label')

         美化代码:

        # 设置左侧菜单按钮
        self.left_widget.setStyleSheet('''
            QPushButton{
                border:none;
                color:white;
                height:35px;
                padding-left:5px;
                padding-right:10px;
                font-size:15px;}
                
            QWidget#left_widget{
                background:#96989B;
                border-top-left-radius:5px;
                border-bottom-left-radius:5px;}
                
            QPushButton#left_label{
                border:none;
                font-size:20px;
                font-weight:700;
                font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;}
                
            QPushButton#left_button:hover{
                color:white;
                border-radius:10px;
                background:#646669;}''')

                效果:

人脸识别gui界面,Python,pycharm,python,qt,css

​         (3)美化右侧布局

                方法如上,代码:

    self.right_widget.setStyleSheet('''
        QWidget#right_widget{
        background:#AAACAF;
        border-top-right-radius:5px;
        border-bottom-right-radius:5px;}''')

                效果:

人脸识别gui界面,Python,pycharm,python,qt,css

​        (4)去除组件间缝隙

                代码如下:

        # 设置右边布局间距为0
        self.right_layout.setContentsMargins(0, 0, 2, 1)  
        # 设置布局内部件间隙
        self.main_layout.setSpacing(0)  
        self.right_layout.setSpacing(0)
        self.left_layout.setSpacing(0)

                效果:

人脸识别gui界面,Python,pycharm,python,qt,css

​        (5)整体样式美化

                通过 setWindowOpacity 方法设置透明度

                通过 setAttribute(QtCore.Qt.WA_TranslucentBackground) 方法隐藏外围边框

                通过 setWindowFlag(QtCore.Qt.FramelessWindowHint) 方法产生一个无边框的窗口,用户不能移动和改变大小

                通过 setWindowTitle("人脸识别") 方法设置窗口标题

                通过 setWindowIcon(QIcon('logo.jpg')) 方法设置窗口logo

注意:QIcon('logo.jpg') 中的 logo.jpg 为导入的图片名称路径,你导入的图片叫什么名字就写什么名字。

        # 设置整体样式
        MainWindow.setWindowOpacity(0.9)  # 设置窗口透明度
        MainWindow.setAttribute(QtCore.Qt.WA_TranslucentBackground)  # 隐藏外围边框
        MainWindow.setWindowFlag(QtCore.Qt.FramelessWindowHint) # 产生一个无边框的窗口,用户不能移动和改变大小
        MainWindow.setWindowTitle("人脸识别")  # 设置窗口标题
        MainWindow.setWindowIcon(QIcon('logo.jpg'))  # 设置窗口logo

        效果:

人脸识别gui界面,Python,pycharm,python,qt,css

​        (6)其他组件美化

                代码:

        self.camera_label.setStyleSheet('''
                                        color:#F8FCFF;
                                        font-size:60px;
                                        font-weight:bold;
                                        font-family:Roman times;''')
        self.remind_label.setStyleSheet('''
                                        color:#F0F7F4;
                                        font-size:30px;
                                        font-family:Microsoft YaHei;''')
        self.remind_label.setWordWrap(True)
        self.remind_label.setAlignment(Qt.AlignRight)

                效果:

人脸识别gui界面,Python,pycharm,python,qt,css

4、美化后的UI代码

        最终代码:

# -*- coding: utf-8 -*-
import sys
import qtawesome
from PyQt5.QtGui import *
from PyQt5.QtCore import Qt
from PyQt5 import QtCore, QtWidgets

class UserMainUi(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("UserMainWindow")
        MainWindow.resize(1200, 800)

        # ------------ 整体界面设计,使用网格布局 ------------ #
        self.main_widget = QtWidgets.QWidget(MainWindow)  # 创建窗口主部件
        self.main_layout = QtWidgets.QGridLayout()  # 创建主部件的网格布局
        self.main_widget.setLayout(self.main_layout)  # 设置窗口主部件布局为网格布局

        self.left_widget = QtWidgets.QWidget(MainWindow)  # 创建左侧部件
        self.left_widget.setObjectName('left_widget')
        self.left_layout = QtWidgets.QGridLayout()
        self.left_widget.setLayout(self.left_layout)  # 设置左侧部件布局为网格

        self.right_widget = QtWidgets.QWidget(MainWindow)  # 创建右侧部件
        self.right_widget.setObjectName('right_widget')
        self.right_layout = QtWidgets.QGridLayout()
        self.right_widget.setLayout(self.right_layout)  # 设置右侧部件布局为网格

        self.main_layout.addWidget(self.left_widget, 0, 0, 15, 2)  # 左侧部件在第0行第0列,占15行2列
        self.main_layout.addWidget(self.right_widget, 0, 2, 15, 10)  # 右侧部件在第0行第2列,占15行10列
        MainWindow.setCentralWidget(self.main_widget)  # 设置窗口主部件

        # ------------ 左侧菜单模块,使用网格布局 ------------ #
        # 关闭按钮
        self.close_button = QtWidgets.QPushButton("")
        # 空白按钮
        self.other_button = QtWidgets.QPushButton("")
        # 最小化按钮
        self.minimize_button = QtWidgets.QPushButton("")

        # JUNIOR 标志
        self.left_label_1 = QtWidgets.QPushButton("JUNIOR")
        self.left_label_1.setObjectName('left_label')
        # SENIOR 标志
        self.left_label_2 = QtWidgets.QPushButton("SENIOR")
        self.left_label_2.setObjectName('left_label')

        # 打开摄像头 按钮
        self.camera_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.video', color='white'), "打开相机")
        self.camera_button.setObjectName('left_button')
        # 用户登录 按钮
        self.login_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.user-alt', color='white'), "用户登录")
        self.login_button.setObjectName('left_button')

        # 用户登出 按钮
        self.logout_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.sign-out-alt', color='white'), "用户登出")
        self.logout_button.setObjectName('left_button')
        # 用户注册 按钮
        self.register_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.user-plus', color='white'), "用户注册")
        self.register_button.setObjectName('left_button')
        # 查询用户 按钮
        self.query_user_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.search', color='white'), "修改信息")
        self.query_user_button.setObjectName('left_button')

        # 人脸识别 按钮
        self.recognition_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.eye', color='white'), "人脸识别")
        self.recognition_button.setObjectName('left_button')
        # 人脸对比 按钮
        self.face_compare_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.people-arrows', color='white'),
                                                         "人脸对比")
        self.face_compare_button.setObjectName('left_button')
        # 活体检测 按钮
        self.biopsy_testing_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.atom', color='white'), "活体检测")
        self.biopsy_testing_button.setObjectName('left_button')
        # 精细分割 按钮
        self.fine_segmentation_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.cut', color='white'), "精细分割")
        self.fine_segmentation_button.setObjectName('left_button')
        # 关键点检测 按钮
        self.attitude_detection_button = QtWidgets.QPushButton(qtawesome.icon('fa5s.draw-polygon', color='white'),
                                                               "姿态检测")
        self.attitude_detection_button.setObjectName('left_button')

        # 添加左侧按钮
        self.left_layout.addWidget(self.close_button, 0, 0, 1, 1)
        self.left_layout.addWidget(self.other_button, 0, 1, 1, 1)
        self.left_layout.addWidget(self.minimize_button, 0, 2, 1, 1)

        self.left_layout.addWidget(self.left_label_1, 1, 0, 1, 3)
        self.left_layout.addWidget(self.camera_button, 2, 0, 1, 3)
        self.left_layout.addWidget(self.login_button, 3, 0, 1, 3)
        self.left_layout.addWidget(self.logout_button, 4, 0, 1, 3)
        self.left_layout.addWidget(self.register_button, 5, 0, 1, 3)
        self.left_layout.addWidget(self.query_user_button, 6, 0, 1, 3)

        self.left_layout.addWidget(self.left_label_2, 7, 0, 1, 3)
        self.left_layout.addWidget(self.recognition_button, 8, 0, 1, 3)
        self.left_layout.addWidget(self.biopsy_testing_button, 9, 0, 1, 3)
        self.left_layout.addWidget(self.face_compare_button, 10, 0, 1, 3)
        self.left_layout.addWidget(self.fine_segmentation_button, 11, 0, 1, 3)
        self.left_layout.addWidget(self.attitude_detection_button, 12, 0, 1, 3)

        # ------------ 右侧模块,使用网格布局 ------------ #
        # 摄像头展示部分
        self.camera_label = QtWidgets.QLabel('\n人脸识别\n\n系统')
        self.camera_label.setAlignment(Qt.AlignCenter)

        # 信息展示界面
        self.msg_label_a = QtWidgets.QLabel('')
        self.msg_label_b = QtWidgets.QLabel('')
        self.msg_label_c = QtWidgets.QLabel('')
        self.remind_label = QtWidgets.QLabel('')

        self.right_layout.addWidget(self.camera_label, 1, 0, 3, 10)
        self.right_layout.addWidget(self.msg_label_a, 5, 2, )
        self.right_layout.addWidget(self.msg_label_b, 5, 4, )
        self.right_layout.addWidget(self.msg_label_c, 5, 6, )
        self.right_layout.addWidget(self.remind_label, 5, 3, )

        self.camera_label.setMinimumSize(QtCore.QSize(900, 560))
        self.camera_label.setMaximumSize(QtCore.QSize(900, 560))

        labels = [self.msg_label_a, self.msg_label_b, self.msg_label_c]
        for label in labels:
            label.setMinimumSize(QtCore.QSize(150, 200))
            label.setMaximumSize(QtCore.QSize(150, 200))

        self.remind_label.setMinimumSize(QtCore.QSize(170, 200))
        self.remind_label.setMaximumSize(QtCore.QSize(170, 200))

        # ----------------------美化------------------ #
        # 美化控制按钮
        self.close_button.setFixedSize(28, 28)
        self.other_button.setFixedSize(28, 28)
        self.minimize_button.setFixedSize(28, 28)

        self.close_button.setStyleSheet('''
            QPushButton{
                background:#F76677;
                border-radius:7px;}
            QPushButton:hover{
                background:red;}''')
        self.other_button.setStyleSheet('''
            QPushButton{
                background:#F7D674;
                border-radius:7px;}
            QPushButton:hover{
                background:yellow;}''')
        self.minimize_button.setStyleSheet('''
            QPushButton{
                background:#6DDF6D;
                border-radius:7px;}
            QPushButton:hover{
                background:green;}''')

        # 美化左侧布局
        self.left_widget.setStyleSheet('''
            QPushButton{
                border:none;
                color:white;
                height:35px;
                padding-left:5px;
                padding-right:10px;
                font-size:15px;}
                
            QWidget#left_widget{
                background:#96989B;
                border-top-left-radius:5px;
                border-bottom-left-radius:5px;}
                
            QPushButton#left_label{
                border:none;
                font-size:20px;
                font-weight:700;
                font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;}
                
            QPushButton#left_button:hover{
                color:white;
                border-radius:10px;
                background:#646669;}''')

        # 美化右侧布局
        self.right_widget.setStyleSheet('''
            QWidget#right_widget{
                background:#AAACAF;
                border-top-right-radius:5px;
                border-bottom-right-radius:5px;}''')

        # 去除组件间间隙
        self.right_layout.setContentsMargins(0, 0, 2, 1)
        self.main_layout.setSpacing(0)
        self.right_layout.setSpacing(0)
        self.left_layout.setSpacing(0)

        # 设置整体样式
        MainWindow.setWindowOpacity(0.9)  # 设置窗口透明度
        MainWindow.setAttribute(QtCore.Qt.WA_TranslucentBackground)  # 隐藏外围边框
        MainWindow.setWindowFlag(QtCore.Qt.FramelessWindowHint) # 产生一个无边框的窗口,用户不能移动和改变大小
        MainWindow.setWindowTitle("人脸识别")  # 设置标题
        MainWindow.setWindowIcon(QIcon('Logo.jpg'))  # 设置logo

        # 其他组件美化
        self.camera_label.setStyleSheet('''
                                        color:#F8FCFF;
                                        font-size:60px;
                                        font-weight:bold;
                                        font-family:Roman times;''')
        self.remind_label.setStyleSheet('''
                                        color:#F0F7F4;
                                        font-size:30px;
                                        font-family:Microsoft YaHei;''')
        self.remind_label.setWordWrap(True)
        self.remind_label.setAlignment(Qt.AlignRight)




if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    widgets = QtWidgets.QMainWindow()
    ui = UserMainUi()
    ui.setupUi(widgets)
    widgets.show()
    sys.exit(app.exec_())

        最终样式:

人脸识别gui界面,Python,pycharm,python,qt,css

​注:现在完成的UI界面,各个按钮还不能进行点击,即逻辑部分的代码还没有编写。

继续阅读:

UI事件处理:Python | 人脸识别系统 — UI事件处理

摄像头画面展示:Python | 人脸识别系统 — 摄像头画面展示

用户端逻辑:

  • 人脸识别:Python | 人脸识别系统 — 人脸识别
  • 活体检测:Python | 人脸识别系统 — 活体检测
  • 背景模糊:Python | 人脸识别系统 — 背景模糊
  • 姿态检测:Python | 人脸识别系统 — 姿态检测
  • 人脸比对:Python | 人脸识别系统 — 人脸比对
  • 用户操作:Python | 人脸识别系统 — 用户操作

管理员端逻辑:

  • 管理员操作:Python | 人脸识别系统 —— 管理员操作

注:以上代码仅供参考,如需运行,参考GitHub源代码: Su-Face-Recognition文章来源地址https://www.toymoban.com/news/detail-525956.html

到了这里,关于Python | 人脸识别系统 — UI界面设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python怎么做gui界面,python gui界面设计

    本篇文章给大家谈谈python怎么做gui界面,以及python gui界面设计,希望对各位有所帮助,不要忘了收藏本站喔。 开发图形用户界面(GUI)应用程序是Python的重要应用之一,标准库tkinter用来实现图形用户界面。 tkinter模块是Python事实上的GUI库,包含在Python的基本安装包中Python自动化

    2024年04月14日
    浏览(41)
  • python如何做出图形界面,python图形化界面设计gui

    本篇文章给大家谈谈python编写图形化界面的工具,以及python如何做出图形界面,希望对各位有所帮助,不要忘了收藏本站喔。 大家好,小编来为大家解答以下问题,python如何做出图形界面,用python做图形用户界面,今天让我们一起来看看吧! 一.定义理解 Python自带了tkinter 模

    2024年02月20日
    浏览(41)
  • 【MATLAB】制作二阶系统的时域分析GUI界面:登录界面的设计和二阶系统时域分析界面

    首先,在命令行窗口输入guide,进入gui向导进行创建GUI,如图: 使用静态文本标识标题和账号密码名称: 双击静态文本,在检查器页面中修改名称: 还可以修改字体大小(根据需求设置合适大小): 然后设置两个可编辑文本作为输入框(同样可修改参数): 最后设置一个“

    2024年04月28日
    浏览(29)
  • 【Python入门系列】第八篇:Python中GUI编程和图形界面设计

    Python中的GUI编程是指使用Python语言创建图形用户界面(GUI)的过程。通过GUI,用户可以与程序进行交互,通过按钮、菜单、文本框等控件来操作程序。 Python提供了多个库和框架来实现GUI编程,其中最常用的是Tkinter、wxPython、PyQt和PyGTK等。这些库提供了丰富的控件和功能,使开

    2024年02月07日
    浏览(40)
  • 基于深度学习的人脸识别与管理系统(UI界面增强版,Python代码)

    摘要:人脸检测与识别是机器视觉领域最热门的研究方向之一,本文详细介绍博主自主设计的一款基于深度学习的人脸识别与管理系统。博文给出人脸识别实现原理的同时,给出 P y t h o n 的人脸识别实现代码以及 P y Q t 设计的UI界面。系统实现了集识别人脸、录入人脸、管理

    2024年01月20日
    浏览(34)
  • Python QT5设计UI界面教程

    简介:PyQT5开发常用知识,零基础上手,需配合我之前写的博文,配置好QT设计工具和ui文件转py文件的工具。博文为:使用Python PyQt5实现一个简单的图像识别软件;页面效果如下: 1.设计菜单栏 Containers——Tab Widget; 2.横向排布  可以自动水平对齐 3.文本框和选择框 4.日期输入

    2024年01月17日
    浏览(34)
  • Python学习笔记--exe文件打包与UI界面设计

    又是半年时间过去了,终于有有时间摸鱼学一点python了。本次练习主要针对之前写过的自动打卡脚本,将其打包成exe文件,并加上UI界面。其实对于自动打卡这个功能来说,UI界面并不是必需品,加上了界面反而有些麻烦。 我比较熟悉的UI相关的库主要有 easygui,tkinter,pyqt5

    2024年02月05日
    浏览(29)
  • 【Qt设计开发】GUI界面设计开发

      本文是我在学习QT的GUI界面设计过程当中的心得和学习笔记,在学习时已经有C, C++,Python的基础。文章附上了学习的代码,仅供大家参考。如果有问题,有错误欢迎大家留言。此外,博主还有另外几篇文章,分别关于 Python基础知识 、 Python的具体应用 、 C语言指针结构体

    2024年02月02日
    浏览(38)
  • 基于MATLAB的GUI界面设计流程

    大三上小学期学习了MATLAB的GUI界面设计,感觉挺不错的,这里做个总结! 1、命令行输入“guide”指令,打开GUI面板,选择“新建GUI”、“Blank GUI” (左侧工具栏含有待添加的元素) 2、添加所需要的的元素(一般需要普通按钮、静态文本、普通文本、坐标图、单选按钮等)

    2024年02月01日
    浏览(42)
  • MATLAB GUI图形化界面设计计算器

    MATLAB GUI界面设计教程可以帮助用户创建交互式的图形用户界面,以简化与MATLAB程序的交互过程。以下是一个简化的教程,指导你如何进行MATLAB GUI界面设计: 1. 启动GUIDE或App Designer GUIDE :在MATLAB命令窗口中输入 guide 命令,然后按Enter键启动GUIDE。 App Designer :在MATLAB的“Apps”

    2024年04月23日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包