程序示例精选
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 class
QString 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++,网页领域博主