10.11作业

人脸:

cpp 复制代码
//源文件
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    Mat src;//创建一个图像容器
    Mat srb;
    Mat gray;
    Mat dst;
    src = imread("D:/opencv/resourse/age.jpg");//将本地的图像放入容器中
    namedWindow("src");//设置一个窗体用来展示图像
    imshow("src",src);//窗口展示图像
    VideoCapture video; //实例化视频容器的对象
    if(!video.open(0))
    {
        QMessageBox::information(this,"提示","视频打开失败");
        return;
    }
    namedWindow("srb");
    while(video.read(srb))
    {
        flip(srb, srb, 1);
        cvtColor(srb,gray,CV_BGR2GRAY);
        equalizeHist(gray,dst);
        CascadeClassifier a;
        vector<Rect> faces;
        a.load("D:/opencv/resourse/haarcascade_frontalface_alt.xml");
        a.detectMultiScale(dst,faces);
        imshow("srb",dst);
        if(waitKey(20) == 27)
        {
            break;
        }
    }
}

Widget::~Widget()
{
    delete ui;
}

数据库:

cpp 复制代码
//源文件
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->table->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    ui->table->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    if(!db.contains("stu.db"))
    {
        db = QSqlDatabase::addDatabase("QSQLITE");
        db.setDatabaseName("stu.db");
    }
    if(!db.open())
    {
        QMessageBox::information(this,"提示","数据库打开失败");
        return;
    }
    QSqlQuery querry;
    QString sql = "create table if not exists STU(id int,name char,sex char,score double)";
    if(!querry.exec(sql))
    {
        QMessageBox::information(this,"提示","数据表创建失败");
        return;
    }
}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_btn1_clicked() //添加函数
{
    int ui_numb = ui->edit1->text().toUInt();
    QString ui_name = ui->edit2->text();
    QString ui_sex = ui->edit3->text();
    double ui_score = ui->edit4->text().toDouble();
    if(ui_numb ==0 || ui_name.isEmpty() || ui_sex.isEmpty() || ui_score == 0)
    {
        QMessageBox::information(this,"提示","请将信息填写完整");
        return;
    }
    QString sql = QString("insert into STU(id,name,sex,score) values(%1,'%2','%3',%4);").arg(ui_numb).arg(ui_name).arg(ui_sex).arg(ui_score);
    QSqlQuery querry;
    if(!querry.exec(sql))
    {
        QMessageBox::information(this,"提示","添加信息失败");
        return;
    }
    else
    {
        QMessageBox::information(this,"提示","添加信息成功");
    }
}

void Widget::on_btn2_clicked() //展示函数
{
    ui->table->clearContents();
    QSqlQuery querry;
    QString sql = "select * from STU;";
    if(!querry.exec(sql))
    {
        QMessageBox::information(this,"提示","展示失败");
        return;
    }
    int i = 0;
    while (querry.next())
    {
        QSqlRecord record = querry.record();
        for(int j=0;j<record.count();j++)
        {
            QTableWidgetItem *item = new QTableWidgetItem(record.value(j).toString());
            ui->table->setItem(i,j,item);
        }
        i++;
    }

}

void Widget::on_btn3_clicked() //删除函数
{
    int ui_numb = ui->edit1->text().toUInt();
    if(ui_numb == 0)
    {
        QMessageBox::information(this,"提示","学号不能为空");
        return;
    }
    QString sq1 = QString("DELETE FROM STU WHERE id = %1").arg(ui_numb);
    QSqlQuery query;
    if(!query.exec(sq1))
    {
        QMessageBox::information(this,"提示","删除失败");
    }
    else
    {
        QMessageBox::information(this,"提示","删除成功");
    }
}

void Widget::on_btn4_clicked() //排序函数
{
    QString sq1 = "SELECT * FROM STU ORDER BY score ASC";
    QSqlQuery query;
    if(!query.exec(sq1))
    {
        QMessageBox::information(this,"提示","排序失败");
    }
    else
    {
        int i = 0;
        while (query.next())
        {
            QSqlRecord record = query.record();
            for(int j=0;j<record.count();j++)
            {
                QTableWidgetItem *item = new QTableWidgetItem(record.value(j).toString());
                ui->table->setItem(i,j,item);
            }
            i++;
        }

    }

}
相关推荐
FlightYe10 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
by2099911 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
Rover Ramble11 小时前
C++ 用互斥锁实现读写锁
开发语言·c++
你怎么知道我是队长12 小时前
C++零基础入门第2周:数据类型、运算符与表达式完全指南(附20段可运行代码+避坑清单)
c++
say_fall12 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
雪落漂泊12 小时前
C++算法 滑动窗口篇(下)
开发语言·c++
你怎么知道我是队长15 小时前
C++零基础第3周:if/else、switch、for/while/do-while 控制流完全指南(附20段可运行代码+避坑清单)
java·开发语言·c++
青少儿编程课堂16 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:倍增法求最近公共祖先LCA解析
c++·python·算法·bfs·信息学竞赛
雷✘16 小时前
C++ 类与对象的初始化机制、成员访问边界与拷贝优化
java·网络·c++
努力实干17 小时前
简单工厂模式(Simple Factory Pattern)——C++
开发语言·c++·简单工厂模式