# 超市信息管理系统开发文档
## 一、环境及技术
1、环境
- Qt Creator 5.3
- ODBC Data Sources (32-bit)
- mysql-8.0.28-winx64
- Navicat 15 for MySQL
2、技术
- QT开发
- C++
- mysql
## 二、项目开发流程
1. 数据库设计
2. 界面UI设计
3. 代码逻辑编写
4. 开发文档编写
## 三、流程介绍
### 1、数据库设计
#### 1、1数据库代码
```mysql
/*
Navicat MySQL Data Transfer
Source Server : localhost_3306
Source Server Type : MySQL
Source Server Version : 80028
Source Host : localhost:3306
Source Schema : shop
Target Server Type : MySQL
Target Server Version : 80028
File Encoding : 65001
Date: 06/06/2022 20:30:21
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for goods
-- ----------------------------
DROP TABLE IF EXISTS `goods`;
CREATE TABLE `goods` (
`id` int NOT NULL COMMENT '商品编号',
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '商品名称',
`num` int NOT NULL COMMENT '商品数量',
`price` double(10, 2) NOT NULL COMMENT '商品价格',
`kind` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '商品种类',
`picture` blob NULL COMMENT '商品图片',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of goods
-- ----------------------------
INSERT INTO `goods` VALUES (1, '可乐', 300, 3.00, '饮料', NULL);
INSERT INTO `goods` VALUES (2, '上衣', 20, 99.00, '服装', NULL);
INSERT INTO `goods` VALUES (3, '大豆油', 300, 55.50, '食品', NULL);
-- ----------------------------
-- Table structure for worker
-- ----------------------------
DROP TABLE IF EXISTS `worker`;
CREATE TABLE `worker` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '职工编号',
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '职工姓名',
`phone` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '职工电话',
`usename` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '职工账号',
`password` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '职工密码',
`address` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '职工联系地址',
`picture` blob NULL COMMENT '职工照片',
PRIMARY KEY (`id`) USING BTREE,
CONSTRAINT `id` FOREIGN KEY (`id`) REFERENCES `goods` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of worker
-- ----------------------------
INSERT INTO `worker` VALUES (1, '马师傅', '123', '123', '123', '陕西省西安市', NULL);
INSERT INTO `worker` VALUES (2, '石师傅', '1234', '1234', '1234', '陕西省西安市', NULL);
INSERT INTO `worker` VALUES (3, '野球帝', '12345', '12345', '12345', '陕西省西安市', NULL);
SET FOREIGN_KEY_CHECKS = 1;
```
#### 1、2 表设计
- goods表
![image-20220609152628020](https://sx-image799.oss-cn-hangzhou.aliyuncs.com/image/202206091526151.png)
- worker表
![image-20220609152721943](https://sx-image799.oss-cn-hangzhou.aliyuncs.com/image/202206091527988.png)
#### 1、3 视图
![image-20220609152927876](https://sx-image799.oss-cn-hangzhou.aliyuncs.com/image/202206091529928.png)
### 2、界面UI设计
#### 2、1 登录界面
- 效果图
![](https://sx-image799.oss-cn-hangzhou.aliyuncs.com/image/202206091531850.png)
- 结构说明
![image-20220609153543319](https://sx-image799.oss-cn-hangzhou.aliyuncs.com/image/202206091535392.png)
#### 2、2 系统展示界面
### 3、代码逻辑编写
#### 3、1 登录逻辑
**login.h:**
```c++
#ifndef LOGIN_H
#define LOGIN_H
#include <QDialog>
#include<QSqlQuery> //查询mysql数据库
#include<QMessageBox>
#include<QCryptographicHash> //包含MD5算法库
#include <QWidget>
#include<QPoint>
namespace Ui {
class Login;
}
class Login : public QDialog
{
Q_OBJECT
public:
explicit Login(QWidget *parent = 0);
~Login();
//鼠标移动
void mouseMoveEvent(QMouseEvent *event);
//鼠标点击
void mousePressEvent(QMouseEvent *event);
//鼠标拖动
void mouseReleaseEvent(QMouseEvent *event);
private slots:
//关闭窗口
void on_pushButton_clicked();
//登录事件
void on_btn_login_clicked();
private:
Ui::Login *ui;
QPoint z;
};
#endif // LOGIN_H
```
**login.cpp:**
```c++
#include "login.h"
#include "ui_login.h"
#include<QWidget>
#include<QPoint>
#include<QMouseEvent>
#include<QGraphicsDropShadowEffect>
Login::Login(QWidget *parent) :
QDialog(parent),
ui(new Ui::Login)
{
ui->setupUi(this);
//去掉系统无边框
this->setWindowFlags(Qt::FramelessWindowHint);
//阴影边框效果
QGraphicsDropShadowEffect *shadow =new QGraphicsDropShadowEffect();
shadow->setBlurRadius(20);
shadow->setColor(Qt::black);
shadow->setOffset(0);
ui->showwidget->setGraphicsEffect(shadow);
//设置父窗口为透明
this->setAttribute(Qt::WA_TranslucentBackground);
//用户名焦点
ui->Username->setFocus();
}
Login::~Login()
{
delete ui;
}
//鼠标移动
void Login::mouseMoveEvent(QMouseEvent *event)
{
QWidget::mouseMoveEvent(event);
//鼠标相对于桌面左上角的位置,鼠标的全局位置
QPoint y = event->globalPos();
QPoint x =y-this->z;
this->move(x);
}
//鼠标点击
void Login::mousePressEvent(QMouseEvent *event)
{
QWidget::mousePressEvent(event);
//鼠标相对于桌面左上角的位置,鼠标的全局位置
QPoint y = event->globalPos();
//窗口左上角相对于桌面左上角的位置
QPoint x =this->geometry().topLeft();
this->z = y-x; //定值
}
//鼠标释放
void Login::mouseReleaseEvent(QMouseEvent *event)
{
QWidget::mouseReleaseEvent(event);
//清空
this->z=QPoint();
}
//关闭窗口
void Login::on_pushButton_clicked()
{
this->close();
}
//登录事件
void Login::on_btn_login_clicked()
{
if(!ui->Password->text().isEmpty()){
QSqlQuery query;
query.exec("select password from worker where usename='" + ui->Username->text()+"'");
query.next();
if(query.value(0).toString()==ui->Password->text()){
//验证通过
QDialog::accept();
}else{
//信息错误弹出警告
QMessageBox::warning(this,tr("密码或账号错误!"),tr("请输入正确的信息"),QMessageBox::Ok);
//清空输入框
ui->Username->clear();
ui->Password->clear();
}
}else{
ui->Password->setFocus();
}
}
```
#### 3、2 系统功能逻辑
**mainwindow.h:**
```c++
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include<QMessageBox>
#include<QFileDialog>
#include<QBuffer>
#include<QSqlDatabase> //mysql数据库类
#include<QSqlTableModel> //mysql表模型库
#include<QSqlQuery> //mysql查询类库
#include<QSqlQueryModel>
#include<QTime>
#include<QPixmap> //图形处理类库
#include <QWidget>
#include<QPoint>
#include <QTableView>
#include <QStandardItemModel>
#include<QString>
#include<QTableWidgetItem>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
/*鼠标事件*/
//鼠标移动
void mouseMoveEvent(QMouseEvent *event);
//鼠标点击
void mousePressEvent(QMouseEvent *event);
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
## 一、环境及技术 1、环境 - Qt Creator 5.3 - ODBC Data Sources (32-bit) - mysql-8.0.28-winx64 - Navicat 15 for MySQL 2、技术 - QT开发 - C++ - mysql ## 二、项目开发流程 1. 数据库设计 2. 界面UI设计 3. 代码逻辑编写 4. 开发文档编写 ## 三、流程介绍 ### 1、数据库设计 ### 2、界面UI设计 ### 3、代码逻辑编写 ## 压缩包包含内容 ### 1、QT源码文件 ### 2、超市信息管理系统绿色免安装版本 ### 3、开发文档 ### 4、演示视频 ### 5、软件报告 ### 6、数据库文件
资源推荐
资源详情
资源评论
收起资源包目录
基于QT的超市信息管理系统 (228个子文件)
06fc0c567130ea0ee4ccece3806b8f13311a2f 55KB
09177f3887ffae08ecaadeb4997a3f3c60e812 836B
09de0b23f131c4a556a604808394de13cdec18 3KB
11145337b3105a2860beb158edcebb16b98010 1.2MB
143e94d7565d3966c34a44c22a551f60b5c1f7 49KB
146fa619b22bcb82e83d26343dac67cf5a5b0b 2KB
21e04a467d576203aaf03e68c5ae3a379ead02 972B
230a1071cb9dc61db3192ef5bd11c85235f7e7 112KB
23d87422b940a3f162bd26b368d42f999da100 2KB
24c88dc77e057c778b6da783d072fdb6828889 6KB
264aaff09d853a4abca5e3facba9ff214630ce 1KB
26f1217097adf710304527b3357d694f687ed2 8KB
2aad64bcb6c24ea3ab3bf7f6f5da56c5b75c40 7KB
2ddb06385c20bd7bf79d3355c158694d557f6c 85B
322fe6196a2090958b626e1a1e1e453e39d46c 156KB
34dc7e9fc497b02fec7ffba423af178bd6aca9 14KB
3d0bb7d3fda6b1ec789e100817ebb01d84a4b8 67B
3ed9ab75374cde95a03cefd13855a2debfbfa6 52.39MB
40305fbdc18868b48f588b3f7e792d42208e9c 11KB
41764c7e68f589058998151a3033dafaddef0d 256KB
435954155649eb393bd328912f10cfb1692ee4 33KB
4701f91422b2aa949be872c1da7cbf9fd0882d 193B
4a1e10d13cb927140e734abab2aa41fddbf33d 127KB
4aa3741500249019d7d15f168646112154b4d2 100KB
4b776693d6bf4ee665d66d9b292ad85f079f8d 1KB
4d1a8d6ec85073f5063bb1aaa773ab1f53cc70 4KB
53c15d27cbed0c798124c981e7c9533eeeca29 7KB
543e4d31e2d751582dfd43c79ac381a157fae5 12.92MB
54fdf76c0f068c5590b8953c2849f1acbaf1e4 2KB
555d37198ec17483159e9ed65b7124b19638b5 890B
57cbf54af5ec96fc024a424d17fd7e4285621b 57B
596dcb96c50f0282daa99621743815488d2106 55KB
5b3b3ad8ca48b483cef4d51994c84fecec0f9c 7.19MB
5e65624d52dbc6f4404ecb4c67cfea8ec4842c 52B
62c179f2f06e448bb2768716384ea69389fae3 22KB
64b2a26129c6321efe59e9dacb1a26445d5bb4 50KB
64d9ecdc21ac43541ab1dca4ebc5897f194811 352B
65583b94c2112fc125c8e78794272dfdb13b3d 15KB
67d6fe84ab8b2ccb6c8b3ac3bfc6eb14299fd1 446B
6ff8ae822413369eff8d33f68fbed0aa2ac25d 7.24MB
71045f876262f6c13dd96d38a57bc66056903b 262B
717fea483e51df57e03fecff6d51d1a5f424bb 1KB
71dc6616581b5bfc21e91074dfc1733a5bf428 178B
7236e9e7caf03a366561de16e9921e92829028 123KB
74cf6a886f9bd39e9d13fd5f759ce91a78a527 460B
7bf87923a62e76a74ddd8680706006d9f6972a 46KB
7ee21d80e682148787ef3bb13daf6954357d94 170KB
8065b51e61facd08d23d1a3ee6921a4b08b143 12KB
811eb2f74887b0d26e2e92dfb50ee2e9f63af5 301KB
82c3841d8e73b71e89e0df2ad6eda198dcc8cf 7.2MB
83d45ab5ca3fee0339bdb9687ecc150705a162 55KB
845e429428a0b1cba8c67b84fb353be47e9afd 601KB
88de1a2a3d0757f1b4bb6c702e53d70a615767 453B
8b37f6557b5ef5173b67579f360f99c19eb7ed 1KB
8c8faf1b6b680be2cfc76b671d7e036821d3c8 272B
8f74b327cf1582f66861fd258d11a2f24b728a 68KB
90e925c4c18429565a6ffd54133ef39c7b381a 63KB
9212d086a871377206d16e8a72d2282b664bc8 329B
9d59c04737009b581b05f505844b6d6c4f7056 7.89MB
9fcf0d8ae432bbfe96875f69744d9b7b3bd966 1KB
a36e8be4fec5a21b43d665d3dad680ad6bd714 9.6MB
a81aa2b409078f8904863f34e0e5cfea8ccf7e 2KB
a98dca5ea7a9adfc367089bf72c0c44fb120ed 587B
a9b5191b79bd60831190fc92eba2a4f366e454 268B
a9ed024d3859793618152ea559a168bbcbb5e2 14KB
ab95b8ff19acd9279586b4c8e3070175922c29 328B
b2f547276cd10eeaffc3667195c2366ae1cf4b 56KB
b351a037bb7a45c6029e5df09a5ebff143fa2e 19KB
b473d54a78cd7ac36284b5c1f061ad60a16b85 269B
b6103585b17b7fa38a337c515a946487f32752 2KB
bb96aaa26ace564fd182dfe5522470c94155c8 11KB
bde683f0b991901d40e245dff1643668ac1c4f 17KB
bf95ec4ba759b5279bab2624796390d6d262e1 12KB
bfb265f0e688e8916aa745508640fd37aff603 411KB
c387891439194645908c9367758b3c52ce7abd 563B
c6f83f91ef6e403dd02bc0e522f4c6812f1b4a 1KB
c9cb9e1ab8e36dd7e9cc64dabd4825ca2332b8 57B
ca1fc5ef5cb6585ee1cdbc29ebabdb52e7529f 358B
cda91e2df722e430a525ced41fb10fc5d3863a 86B
ce6e6d6ba054fcb548c9e7ebdef6ab5a39693e 894B
ceda8273c1c38d34b695856e23206b3cc8db47 1KB
COMMIT_EDITMSG 16B
config 249B
qrc_res.cpp 37.58MB
qrc_res.cpp 37.58MB
qrc_res.cpp 37.58MB
mainwindow.cpp 25KB
moc_mainwindow.cpp 7KB
moc_mainwindow.cpp 7KB
moc_mainwindow.cpp 7KB
moc_login.cpp 3KB
moc_login.cpp 3KB
moc_login.cpp 3KB
login.cpp 2KB
main.cpp 681B
d0d3f94f38b8b81f2806ad8e9c46ecad19cf31 1.89MB
d1a900875a6557c59f697be3fc56c363970dee 7.2MB
d29957f8b2cc2b8111963102e557b7b2f39de9 55KB
d5b18632a10828e2a0023049bf7c12f6c0bc14 113B
d647095363d4dbf98b8f1030d81b3e085c51ae 2.13MB
共 228 条
- 1
- 2
- 3
石先森很疯狂
- 粉丝: 183
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【岗位说明】物业保安人员岗位职责.doc
- 【岗位说明】物业有限公司综合部厨工岗位职责.doc
- 【岗位说明】物业管理处环境部绿化工岗位职责.doc
- 龙门式6点伺服可调中频逆变电阻焊机sw19全套技术资料100%好用.zip
- 【岗位说明】陶瓷部门职能岗位职责.doc
- 【岗位说明】最新实用陶瓷企业生产规范岗位说明书.doc
- 【岗位说明】陶瓷部门职能岗位职责.docx
- 【岗位说明】电力公司岗位职责.docx
- 【岗位说明】电网公司岗位职责02.doc
- 【岗位说明】电力公司岗位职责.doc
- 【岗位说明】电力公司岗位职责说明02.doc
- 【岗位说明】电力施工项目经理岗位职责.doc
- 【岗位说明】供电公司部门职责.doc
- 【岗位说明】苏州电力公司人力资源部主任岗位职责描述.doc
- 【岗位说明】某电力公司客户经理岗位职责描述.doc
- 【岗位说明】石油开采岗位责任制.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页