大四课程设计之基于RFID技术的考勤管理系统(四)Qt界面设计

原创 2017年09月12日 23:01:36
----------------------------------------------------------------------------------------

源码下载地址:

http://download.csdn.net/download/qq78442761/9971770

----------------------------------------------------------------------------------------



界面图如下所示:




下面是关于连接数据库的类:

#ifndef CONNMYSQL_H
#define CONNMYSQL_H

#include <QObject>
#include <QDebug>
#include <QStringList>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QString>
#include <QMessageBox>
#include <QSqlError>
#include <QSqlQueryModel>
#include <QTableView>
#include <QVariant>

//返回两个值
struct QStringAndBool
{
    QString MesQString;
    bool MesBool;
};


class ConnMysql : public QObject
{
    Q_OBJECT
public:
    explicit ConnMysql(QString UserName,QString PassWd,QString DataBase,QObject *parent = 0);
    QStringAndBool LinkMySQL(); //连接Mysql
    void DisLinkMysql();    //断开Mysql

    void SelectAllStu(QString selectQString);   //查询所有学生
    void SelectAllClass(QString selectQString); //查询所以课程和查看当前时间段上课的课程
    void SelectAllChoseClass(QString selectQString);


    bool OkToClass(QString CardID, QString &Stu_id);   //上课打卡
    bool OverClass(QString CardID, QString &Stu_id);    //下课打卡



    bool TheStudentHaveAClass(QString Num,QString Class,QString Name);    //检测这学生是否有课

    bool MatchPeopleWithSQL(QString Num,QString Class,QString Name);  //查看此卡是否有学生

    //刷卡自动在数据库检索此人信息
    bool AutoCheckStuMes(QString CardID,QString &Stu_id,QString &Stu_class,QString &Stu_name);   //第一个参数为卡号,第二个产生为接收的学号,第三个参数为接收的班级号,第四个参数为姓名

    //查询栏2:查询出勤信息
    void ShowStuClassSelect(QString selectQString);  //根据学号查询对应学号所有课程的出勤信息
    void ShowStuClassSelect_Name(QString selectQString);//根据姓名查询对应学号所有课程的出勤信息

    //教师统计功能:
    void TeacherStatistics(QString selectQString);

    //数据库管理
    void DeleteStuNum(QString selectQString);
    void AddStuNum(QString selectQString);

private:
    QString m_UserName; //登录MySQL用户名
    QString m_PassWd;   //登录MySQL密码
    QString m_DataBase; //登录到的个数据库

    QSqlDatabase db;
    QSqlQueryModel *model;  //查询数据库
    QTableView *view;   //显示查询表

    bool CommandIsOk(QString mes);  //发送给数据库的代码是否能成功检索到
};

#endif // CONNMYSQL_H



界面的类:

/*本程序开源
 * 作者QQ570176391,78442761
 *
 * 博客http://blog.csdn.net/qq78442761
 *
 *
 *
 *
 *
 */

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QProcess>
#include <QByteArray>
#include <QLabel>
#include <QDateTime>
#include <QFile>
#include <QTimerEvent>
#include <QPixmap>
#include <QMessageBox>
#include <time.h>
#include <stdlib.h>

#include "currtime.h"
#include "connmysql.h"
#include "dealdata.h"
#include "comdata.h"

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    virtual void timerEvent(QTimerEvent *event);
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

    ComData com;    //用于添加信息的com
    bool ComState;  //com口的状态,用于定时器消息的判断

private slots:
    void LoginMysql();      //登录Mysql
    void disLinkMysql();    //断开数据库

    void SelectAllStuBtn();
    void SelectAllClassBtn();
    void SelectAllChoseBtn();

    void SelectInCourseOf();    //查看正在上的课

    void OkTOClassBtn();    //打卡Btn
    void OverClassBtn();    //下课打卡Btn


    void OpenCOM(); //打开COM口,持卡人检验
    void OpenCOM_SK();  //打开COM_SK口,进行上班打卡
    void OpenCOM_XK();  //打开COM_XK口,进行下班打卡

    //查询栏2:查询出勤信息
    void showStuNumClass(); //根据学号查询对应学号所有课程的出勤信息
    void showStuNumClass_Name();//根据姓名查询对应学号所有课程的出勤信息

    //教师统计功能
    void TeacherStatisticsBtn();    //统计出勤分数

    //数据库管理
    void DeleteStuNumBtn(); //更具学号删除学生
    void AddStuNumBtn();    //添加学生


    void SaveLog();     //生成日志文件

    void on_AddStuaction_triggered();

private:
    Ui::MainWindow *ui;
    ConnMysql *Mysql;   //连接Mysql以及各种操作
    QStringAndBool MysqlLinkValues; //Mysql连接状态

    void BtnSt(int St);    //各个按钮的状态,分为登录前和登录后

    ComData ComIsOK;

    int m_timerID;
    DealData dealdate;

    int Stu_Face_Num;   //用于记录当前学生的头像

    QString m_OKToClass_CardID;   //打开时记录的cardid
    QString m_OverClass_CardID;   //下课打卡记录cardid

    QLabel *statusLabel;    //时间的状态栏

    void setStatusBar();    //设置状态栏


};


#endif // MAINWINDOW_H

运行截图如下图所示:





注意:本程序源码开源,在本博文开头可下载;


上一篇博文:

大四课程设计之基于RFID技术的考勤管理系统(三)数据库设计

http://blog.csdn.net/qq78442761/article/details/77951377


在此本次项目结束,谢谢大家的阅读

版权声明:本文为博主原创文章,未经博主允许不得转载。

Qt考勤系统

  • 2013年05月06日 00:24
  • 445KB
  • 下载

基于QT的学生信息管理系统开发

1.首先创建工程文件,在创建过程中添加主窗口类以及对应的ui文件。 Mainwindow.ui的界面如下: 下面分别实现上图中4个按钮的功能。我们用MYSQL来对学生的注册信息进行保存。 2.编写...
  • tianya_team
  • tianya_team
  • 2017年04月23日 01:32
  • 1800

基于QT的员工管理系统

  • 2014年08月13日 20:45
  • 3.02MB
  • 下载

java企业考勤系统

java企业考勤系统 源代码下载地址:http://www.zuidaima.com/share/1612485580475392.htm
  • springmvc_springdata
  • springmvc_springdata
  • 2015年09月11日 09:54
  • 3505

基于.NET考勤系统(附源码)

时隔一个月,突然想起来之前设计的考勤系统,当时也是脑子一股热,觉得这个可行,然后就上手去做,前因可以扯到大一的时候,上计算机组成原理课,老师给我们看了下他Java弄的点到系统,现在都记不清了,唯一的有...
  • k183000860
  • k183000860
  • 2016年07月03日 15:27
  • 2629

考勤管理系统需求文档

考勤管理系统需求文档 简介 背景       某软件公司,员工人数100人左右,大部分员工是软件研发人员,包括项目经理、软件设计师、程序员、测试工程师、实施工程师等,除此之外还包括行政人员、财务人...
  • q547550831
  • q547550831
  • 2016年01月07日 09:30
  • 5391

考勤系统的数据库分析

这个考勤系统的数据库,其实就是从打卡机里导出的所有员工的考勤信息,一个sheet里有三个员工的信息,具体如下: ,一位员工的信息可以看做是一个实体,所以还需要考勤表(包括某个人上班的天数,迟到的天数,...
  • qq_17255515
  • qq_17255515
  • 2016年12月04日 00:09
  • 511

袁高腾 基于RFID技术的学生考勤系统

科技的发展,给人类的生活带来了便利。物联网时代的来临,数字化,智能化已深入人们的日常生活,利用无线射频技术进行识别考勤,顺应了时代发展的潮流,方便了人们的生活。采用RFID识别模块、WIFI通信、单片...
  • GaotYuan
  • GaotYuan
  • 2017年06月22日 21:43
  • 356

PHP考勤登录系统--上

一、作业要求 电计算机实验室考勤登记系统(三张表,班级信息表,考勤表,请假表)可变动(小于等于三个表) 1 admin管理员用户     1.能对班级人员进增、添、删改、查看     2.请假审批(上...
  • shaynerain
  • shaynerain
  • 2016年12月28日 16:39
  • 41855

C# WinForm考勤信息管理系统

Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System...
  • u012997311
  • u012997311
  • 2017年12月03日 11:32
  • 350
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:大四课程设计之基于RFID技术的考勤管理系统(四)Qt界面设计
举报原因:
原因补充:

(最多只允许输入30个字)