VS+Qt+C++银行排队叫号系统

news/2024/11/30 7:38:07/

 程序示例精选

VS+Qt+C++银行排队叫号系统

如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助!

前言

这篇博客针对<<VS+Qt+C++银行排队叫号系统>>编写代码,带用户登录,管理员登录,增删改查,代码整洁,规则,易读。 学习与应用推荐首选。


文章目录

一、所需工具软件

二、使用步骤

        1. 引入库

        2. 代码实现

       3. 运行结果

三、在线协助

一、所需工具软件

1. VS, Qt

2. C++

二、使用步骤

1.引入库

#pragma once#include <QtWidgets/QMainWindow>
#include "ui_AdminManager.h"#include <QWidget>#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlError>
#include <QtSql/QtSql>

2. 代码实现

代码如下:

#if defined(_MSC_VER) && (_MSC_VER >= 1600)
#pragma execution_character_set("utf-8")
#endif#include "UserManager.h"#include<iostream>
using namespace std;UserManager::UserManager(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);QObject::connect(ui.pushButton_4, SIGNAL(clicked()), this, SLOT(on_findButton_clicked()));QObject::connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(on_addButton_clicked()));ui.pushButton_4->setVisible(true);//ui.tableWidget->setAlternatingRowColors(true); // 隔行变色//ui.tableWidget->setPalette(QPalette(QColor(220, 250, 255)));//参数还可写成QPalette(Qt::blue)//背景色ui.tableWidget->setStyleSheet("QTableView::Item{background-color:green}");db = QSqlDatabase::addDatabase("QSQLITE");db.setDatabaseName("information.db");// 2. 打开数据库if (!db.open())qDebug() << "open error" << db.lastError();QSqlQuery query;//判断information是否已存在,存在则不创建,不存在这创建QString sqlFindTableName = QString("select count(*) from informationTable where type = 'table' and name='%1'").arg("informationTable");  //功能同上if (!query.exec(sqlFindTableName))qDebug() << "findTable error" << db.lastError();bool isTableExist = query.exec(sqlFindTableName);qDebug() << isTableExist;if (!isTableExist){//表  字段有id name classQString sqlCreate = QString("create table informationTable(id integer primary key autoincrement,""name varchar(20),""gender varchar(20),""age varchar(20),""class int);");if (!query.exec(sqlCreate))qDebug() << "create table error" << db.lastError();}}//显示所有
void UserManager::on_findButton_clicked()
{std::cout << "test_ " << std::endl;if (true == db.open()){QSqlQuery query(db);if (query.exec("select * from informationTable")){ui.tableWidget->clearContents();ui.tableWidget->setRowCount(0);while (query.next()){int rowCount = ui.tableWidget->rowCount();ui.tableWidget->insertRow(rowCount);QTableWidgetItem* columnItem0 = new QTableWidgetItem(query.value(0).toString());QTableWidgetItem* columnItem1 = new QTableWidgetItem(query.value(1).toString());QTableWidgetItem* columnItem2 = new QTableWidgetItem(query.value(2).toString());QTableWidgetItem* columnItem3= new QTableWidgetItem(query.value(3).toString());QTableWidgetItem* columnItem4 = new QTableWidgetItem(query.value(4).toString());ui.tableWidget->setItem(rowCount, 0, columnItem0);ui.tableWidget->setItem(rowCount, 1, columnItem1);ui.tableWidget->setItem(rowCount, 2, columnItem2);ui.tableWidget->setItem(rowCount, 3, columnItem3);ui.tableWidget->setItem(rowCount, 4, columnItem4);}}}}//添加
void UserManager::on_addButton_clicked()
{QString IDEd = ui.idLineEdit->text();if (IDEd != ""){QString status = ui.comboBox->currentText();;//将通过数据库接口的访问,将数据插入到数据库中QSqlQuery query;//QString sqlInert = QString("insert into informationTable(name, class)" "values('%1', %2)").arg(nameEd).arg(classNum);QString sqlInert = QString("insert into informationTable(ID, name)" "values('%1','%2')").arg(IDEd, status);if (!query.exec(sqlInert))qDebug() << "insert data error" << db.lastError();on_findButton_clicked();}
}

3. 运行结果

 

 

 

三、在线协助:

如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助!
1)远程安装运行环境,代码调试
2)Qt, C++, Python入门指导
3)界面美化
4)软件制作

博主推荐文章:python人脸识别统计人数qt窗体-CSDN博客

博主推荐文章:Python Yolov5火焰烟雾识别源码分享-CSDN博客

                         Python OpenCV识别行人入口进出人数统计_python识别人数-CSDN博客

个人博客主页:alicema1111的博客_CSDN博客-Python,C++,网页领域博主

博主所有文章点这里:alicema1111的博客_CSDN博客-Python,C++,网页领域博主


http://www.ppmy.cn/news/55193.html

相关文章

从历史天气预报 API 看气象大数据的商业价值

引言 近年来&#xff0c;随着气象观测技术的不断提升和气象大数据的快速发展&#xff0c;越来越多的企业开始将气象数据应用于商业领域。其中&#xff0c;历史天气预报 API 作为一种可获取历史气象数据的接口&#xff0c;具有广泛的商业应用价值。 本文将从历史天气预报 API …

只需5分钟,深刻理解本地事务状态表方案|分布式事务系列(四)

之前我们已经讲过了最基础的CAP、BASE理论&#xff0c;然后介绍了强一致性方案XA、2PC和3PC&#xff0c;然后详细讲述了TCC在生产中的应用场景和原理。本文继续讲解最终一致性方案——本地事务状态表方案。 点击上方“后端开发技术”&#xff0c;选择“设为星标” &#xff0c;…

DIY可视化必看教程 FLEX组件使用,教大家如何布局界面

DIY可视化必看教程FLEX组件使用 水平布局实现、两端对齐 1、拖个FLEX组件过来&#xff0c;排列方向改为水平。 2、拖个文件内容组件进去、栅格化到0 3、复制多一个文本内容组件 4、修改FLEX组件显示对齐方式 5、图标对齐 6、修改FLEX组件对齐方式 7、修改中间占位大&#xff0…

线程池~~

文章目录 线程池线程池实现API、参数说明线程池处理Runnable任务线程池处理Callable任务Executors工具类实现线程池定时器Timer定时器ScheduledExecutorService定时器 并发和并行线程的生命周期 线程池 线程池实现API、参数说明 线程池处理Runnable任务 线程池处理Callable任务…

FreeRTOS任务的创建(动态方法和静态方法)

文章目录 前言一、FreeRTOS任务基本概念二、动态创建任务三、静态创建任务四、静态创建任务和动态创建任务的区别五、任务的删除总结 前言 本篇文章将介绍FreeRTOS任务的创建&#xff08;动态方法和静态方法&#xff09;&#xff0c;了解什么是任务和任务的具体创建方法。 一…

Java多线程,可以吊打面试官(一)

线程和进程 1. 一个Java程序(进程) 就是一个大工场&#xff0c;一个线程就是一个工人&#xff1b; 2. 单核CPU&#xff1a;工厂只有老板一人干活&#xff1b;单核多线程&#xff1a;老板这一分钟模拟工人a干A活&#xff0c;下一分钟模拟工人b干B活&#xff1b; 3. 多核CPU&…

用python制作俄罗斯方块

代码如下&#xff0c;可以直接运行&#xff1a; import random, pygame, sys, ctypes from pygame.locals import *FPS 60 CELL_SIZE 20 CELLS_WIDE 16 CELLS_HIGH 24GRID [] for x in range(CELLS_WIDE):GRID.append([None] * CELLS_HIGH)WHITE (255, 255, 255) BLACK …

【Unity入门】19.定时调用Invoke

【Unity入门】定时调用Invoke 大家好&#xff0c;我是Lampard~~ 欢迎来到Unity入门系列博客&#xff0c;所学知识来自B站阿发老师~感谢 &#xff08;一&#xff09;计时器 &#xff08;1&#xff09;Invoke 单词调用 计时器我们并不陌生&#xff0c;在cocos上有着schedule类是…