其他分享
首页 > 其他分享> > Qt仓储管理系统

Qt仓储管理系统

作者:互联网

在这里插入图片描述
QQ:609162385
https://blog.csdn.net/cqltbe131421

#ifndef MAINWIDGET_H
#define MAINWIDGET_H

#include <QWidget>
#include "loginwidget.h"
#include "mainmanagementwidget.h"
#include "signalmanageobject/signalmanageobject.h"
#include "database/userdatabase.h"
#include "form/adduserform.h"
#include "form/changepasswordform.h"
#include "form/findstorageform.h"
#include "form/inputform.h"
#include "form/inputrecordform.h"
#include "form/outputform.h"
#include "form/outputrecordform.h"
#include "form/chagednumform.h"

namespace Ui {
class MainWidget;
}

class MainWidget : public QWidget
{
    Q_OBJECT

public:
    explicit MainWidget(QWidget *parent = 0);
    ~MainWidget();

public slots:
    void accpetLoginSignal();
    void accpetManageSignal(QString);

private:
    Ui::MainWidget *ui;
    LoginWidget *m_LoginWidget;
    MainManagementWidget *m_MainManagementWidget;

    AddUserForm *m_AddUserForm;
    ChangePassWordForm *m_ChangePassWordForm;
    FindStorageForm *m_FindStorageForm;
    InputForm *m_InputForm;
    InputRecordForm *m_InputRecordForm;
    OutputForm *m_OutputForm;
    OutputRecordForm *m_OutputRecordForm;
    ChagedNumForm *m_ChagedNumForm;

public:
    static SignalManageObject allSignalEvent;
    static int inRecordnum;
    static int outRecordnum;

};

#endif // MAINWIDGET_H

#pragma execution_character_set("utf-8")
#include "mainwidget.h"
#include "ui_mainwidget.h"

SignalManageObject MainWidget::allSignalEvent;
int MainWidget::inRecordnum = 0;
int MainWidget::outRecordnum = 0;

MainWidget::MainWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MainWidget)
{
    ui->setupUi(this);
    userDataBasePri database;
    m_LoginWidget = new LoginWidget(this);
    m_MainManagementWidget = new MainManagementWidget(this);
    m_AddUserForm = new AddUserForm(this);
    m_ChangePassWordForm = new ChangePassWordForm(this);
    m_FindStorageForm = new FindStorageForm(this);
    m_InputForm = new InputForm(this);
    m_InputRecordForm = new InputRecordForm(this);
    m_OutputForm = new OutputForm(this);
    m_OutputRecordForm = new OutputRecordForm(this);
    m_ChagedNumForm = new ChagedNumForm(this);

    ui->stackedWidget->addWidget(m_LoginWidget);
    ui->stackedWidget->addWidget(m_MainManagementWidget);
    ui->stackedWidget->addWidget(m_AddUserForm);
    ui->stackedWidget->addWidget(m_ChangePassWordForm);
    ui->stackedWidget->addWidget(m_FindStorageForm);
    ui->stackedWidget->addWidget(m_InputForm);
    ui->stackedWidget->addWidget(m_InputRecordForm);
    ui->stackedWidget->addWidget(m_OutputForm);
    ui->stackedWidget->addWidget(m_OutputRecordForm);
    ui->stackedWidget->addWidget(m_ChagedNumForm);

    ui->stackedWidget->setCurrentWidget(m_LoginWidget);

    MainWidget::allSignalEvent.setMainWidget(this);
    MainWidget::allSignalEvent.connectAllSignal();

}

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

void MainWidget::accpetLoginSignal()
{
    ui->stackedWidget->setCurrentWidget(m_MainManagementWidget);
}

void MainWidget::accpetManageSignal(QString p_str)
{
    if(p_str == "put_in_storage"){
        ui->stackedWidget->setCurrentWidget(m_InputForm);
    }else if(p_str == "put_out_storage"){
        ui->stackedWidget->setCurrentWidget(m_OutputForm);
    }else if(p_str == "add_user"){
        ui->stackedWidget->setCurrentWidget(m_AddUserForm);
    }else if(p_str == "find_storage"){
        ui->stackedWidget->setCurrentWidget(m_FindStorageForm);
    }else if(p_str == "put_in_storage_record"){
        ui->stackedWidget->setCurrentWidget(m_InputRecordForm);
    }else if(p_str == "put_out_storage_record"){
        ui->stackedWidget->setCurrentWidget(m_OutputRecordForm);
    }else if(p_str == "changed_password"){
        ui->stackedWidget->setCurrentWidget(m_ChangePassWordForm);
        m_ChangePassWordForm->updateDisplay();
    }else if(p_str == "changed_num"){
        ui->stackedWidget->setCurrentWidget(m_ChagedNumForm);
    }
}

数据库;

#pragma execution_character_set("utf-8")
/*******************************************
* @className
* @brief         Data Base
*                v1.0
* @author        cql
* @date          2019-01-17
********************************************/

#include "userdatabase.h"
#include <QDebug>
#define DATA_BASE_NAME ("StoreManagement.db")//数据库文件名
QSqlDatabase userDataBasePri::database;
userDataBasePri::userDataBasePri()
{
    if (QSqlDatabase::contains("cql_sqllite")) {//连接数据库
        database = QSqlDatabase::database("cql_sqllite");
    } else {
        database = QSqlDatabase::addDatabase("QSQLITE","cql_sqllite");
    }
    database.setDatabaseName(DATA_BASE_NAME);//设置数据库文件名
    database.setUserName("root");//用户
    database.setPassword("nopassword");//密码-无密码

    if (! database.open()){//打开数据库
        qCritical() << database.lastError().text();
        return;
    }

    QSqlQuery query(database);
    //用户
    bool ret = query.exec(QString::fromLocal8Bit("create table user_information(user varchar(50) primary key,password varchar(20) not null,root char(10) default 'false')"));
    query.exec(QString::fromLocal8Bit("insert into user_information values('user','password','true')"));
    //仓库
    ret = query.exec(QString::fromLocal8Bit("create table store_information(point varchar(50) primary key,name varchar(50) not null,num char(20),intime char(50))"));
    query.exec(QString::fromLocal8Bit("insert into store_information values('00100','电脑','3','2019-04-26 14:44:25')"));
    //入库记录
    ret = query.exec(QString::fromLocal8Bit("create table recordinput_information(id varchar(50) primary key,point varchar(50),name varchar(50) not null,num char(20),intime char(50))"));
    query.exec(QString::fromLocal8Bit("insert into recordinput_information values('1','00100','电脑','5','2019-04-26 14:44:25')"));
    //出库记录
    ret = query.exec(QString::fromLocal8Bit("create table recordoutput_information(id varchar(50) primary key,point varchar(50),name varchar(50) not null,num char(20),outtime char(50))"));
    query.exec(QString::fromLocal8Bit("insert into recordoutput_information values('1','00100','电脑','2','2019-04-26 14:44:25')"));

    database.close();
    qDebug()<<"ddddddddd"<<ret;
}

userDataBasePri::~userDataBasePri()
{
}

标签:Qt,stackedWidget,管理系统,仓储,ui,addWidget,new,include,MainWidget
来源: https://blog.csdn.net/cqltbe131421/article/details/89633823