当前位置: 首页 > news >正文

Qt ModelView显示数据库数据

利用qt的model view来显示数据表userudps里的数据
在这里插入图片描述
用了一个label 两个combox和一个tableview,实现如下效果:
在这里插入图片描述
我这里用到是mysql数据库,一般配置mysql数据库就两种有驱动或者没驱动,有的话把mysql的bin目录的libmysql.dll复制到qt编译器的bin目录下,没有的话还得装qt的源码,然后编译出mysql的驱动再把mysql的bin目录的libmysql.dll复制到qt编译器的bin目录下。
main.cpp 我这里用了日志显示一些错误信息

#include "widget.h"
#include <QDebug>
#include <QApplication>
#include <QFile>
#include <QTextStream>
#include <QDateTime>void logMessage(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{// 获取当前时间和日期QDateTime currentDateTime = QDateTime::currentDateTime();// 打开日志文件(追加模式)QFile file("log.txt");if (!file.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)) {qDebug() << "Failed to open log file.";return;}// 创建文本流,并写入日志信息QTextStream stream(&file);switch (type) {case QtDebugMsg:qDebug().noquote() << msg;  // 输出到控制台stream << "[" << currentDateTime.toString("yyyy-MM-dd hh:mm:ss") << "] [DEBUG] ";break;case QtInfoMsg:qInfo().noquote() << msg;   // 输出到控制台stream << "[" << currentDateTime.toString("yyyy-MM-dd hh:mm:ss") << "] [INFO] ";break;case QtWarningMsg:qWarning().noquote() << msg; // 输出到控制台stream << "[" << currentDateTime.toString("yyyy-MM-dd hh:mm:ss") << "] [WARNING] ";break;case QtCriticalMsg:qCritical().noquote() << msg; // 输出到控制台stream << "[" << currentDateTime.toString("yyyy-MM-dd hh:mm:ss") << "] [CRITICAL] ";break;case QtFatalMsg:qFatal("%s", msg.toUtf8().constData());break;default:break;}stream << msg << "\n";// 关闭日志文件file.close();
}
int main(int argc, char *argv[])
{QApplication a(argc, argv);qInstallMessageHandler(logMessage);Widget w;w.show();return a.exec();
}

widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);qsqmtableModel=new QSqlQueryModel(this);qsqmcomboxModel=new QSqlQueryModel(this);qsqmcombox2Model=new QSqlQueryModel(this);QSqlDatabase qsdSqlData=QSqlDatabase::addDatabase("QMYSQL");qsdSqlData.setHostName("127.0.0.1");  //数据库服务器IPqsdSqlData.setUserName("root");    //数据库用户名qsdSqlData.setPassword("123456");  //密码qsdSqlData.setDatabaseName("test");  //使用哪个数据库if (qsdSqlData.open() == false) {qDebug()<<"数据库连接失败";return;}else{qDebug()<<"数据库连接成功";}QString sqlselect="select* from userudps";qsqmtableModel->setQuery(sqlselect);ui->tableView->setModel(qsqmtableModel);sqlselect="select user_send from userudps group by user_send";qsqmcomboxModel->setQuery(sqlselect);ui->comboBoxrow->setModel(qsqmcomboxModel);ui->comboBoxrow->setCurrentIndex(0);}Widget::~Widget()
{delete ui;
}void Widget::on_comboBoxrow_currentIndexChanged(const QString &arg1)
{QString sql=QString("select user_recv from userudps where user_send='%1'").arg(arg1);qsqmcombox2Model->setQuery(sql);ui->comboBoxcol->setModel(qsqmcombox2Model);ui->comboBoxcol->setCurrentIndex(0);
}

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QSqlQueryModel>
#include <QSqlDatabase>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();
private slots:void on_comboBoxrow_currentIndexChanged(const QString &arg1);private:Ui::Widget *ui;QSqlQueryModel* qsqmtableModel=nullptr;QSqlQueryModel* qsqmcomboxModel=nullptr;QSqlQueryModel* qsqmcombox2Model=nullptr;
};
#endif // WIDGET_H

相关文章:

Qt ModelView显示数据库数据

利用qt的model view来显示数据表userudps里的数据 用了一个label 两个combox和一个tableview&#xff0c;实现如下效果&#xff1a; 我这里用到是mysql数据库&#xff0c;一般配置mysql数据库就两种有驱动或者没驱动&#xff0c;有的话把mysql的bin目录的libmysql.dll复制到q…...

Vue-3.1缓存组件keep-alive

问题&#xff1a;从首页卡片点到详情页&#xff0c;又点返回&#xff0c;数据重新加载了->希望回到原来的位置 原因&#xff1a;路由跳转后&#xff0c;组件被销毁了&#xff0c;返回回来组件又被重建了&#xff0c;所以数据重新被加载了 解决&#xff1a;利用keep-alive将…...

14.8 Socket 一收一发通信

通常情况下我们在编写套接字通信程序时都会实现一收一发的通信模式&#xff0c;当客户端发送数据到服务端后&#xff0c;我们希望服务端处理请求后同样返回给我们一个状态值&#xff0c;并以此判断我们的请求是否被执行成功了&#xff0c;另外增加收发同步有助于避免数据包粘包…...

7天狂揽 1.3w star 的 MetaGPT,他们的目标让软件公司为之一惊

在 AI 产品爆炸的今天&#xff0c;拥有各种本领的 AI 产品层出不穷&#xff0c;但 MetaGPT 的出现仍然显的格外耀眼&#xff0c;其可以实现只输入单一 prompt&#xff0c;就可以输出需求分析、需求文档、技术架构、最终代码等等产物&#xff0c;这相当于一个开发团队的输出成果…...

工控网络协议模糊测试:用peach对modbus协议进行模糊测试

0x00 背景 本人第一次在FB发帖&#xff0c;进入工控安全行业时间不算很长&#xff0c;可能对模糊测试见解出现偏差&#xff0c;请见谅。 在接触工控安全这一段时间内&#xff0c;对于挖掘工控设备的漏洞&#xff0c;必须对工控各种协议有一定的了解&#xff0c;然后对工控协议…...

python+opencv+机器学习车牌识别 计算机竞赛

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于机器学习的车牌识别系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;4分工作量&#xff1a;4分创新点&#xff1a;3分 该项目较为新颖&#xff0c;适…...

魔域服务端数据库说明

Magic.DB MagID: 魔法ID Mag:Magic MagName: 魔法名称 EffectType: 效果类型 Effect: 效果 Spell: 魔力&#xff08;魔法值&#xff09; Power: 能力&#xff0c;力量 MaxPower: 最大能力 DefSpell: 变化后的魔力Def&#xff1a;deformation DefPower: 变化后能力 DefMaxPower:…...

笔记本无线网卡MAC一直改动

今天在网管处把我无线网卡的MAC地址添加后&#xff0c;回来链接无线网却一直显示网络链接失败&#xff0c;以为是自己的驱动问题&#xff0c;去官网下载了最新的驱动结果依然无法链接。之前在家或者公共场合链接WiFi从来没有出现过类似情况。 百思不得其解之际发现自己的无线网…...

【Tomcat】Apache发布两个新版本Tomcat修复多个Bug

Apache 官网发布了两个最新的 Tomcat 版本包&#xff0c;分别是&#xff1a;8.5.94、9.0.81 这两个最新版本修复了多个漏洞&#xff0c;统计信息如下表所示。有关漏洞的详细信息&#xff0c;请查阅官方相关文档&#xff08;见&#xff1a;参考&#xff09;。 严重等级漏洞说明…...

Empowering Low-Light Image Enhancer through Customized Learnable Priors 论文阅读笔记

中科大、西安交大、南开大学发表在ICCV2023的论文&#xff0c;作者里有李重仪老师和中科大的Jie Huang&#xff08;ECCV2022的FEC CVPR2022的ENC和CVPR2023的ERL的一作&#xff09;喔&#xff0c;看来可能是和Jie Huang同一个课题组的&#xff0c;而且同样代码是开源的&#xf…...

LeetCode 2652. 倍数求和【数学,容斥原理】简单

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…...

ansible-playbook剧本

一&#xff0c;playbook组成&#xff1a; &#xff08;1&#xff09;Tasks&#xff1a;任务&#xff0c;即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行 &#xff08;2&#xff09;Variables&#xff1a;变量 &#xff08;3&#xff09;Templates&…...

竞赛选题 深度学习LSTM新冠数据预测

文章目录 0 前言1 课题简介2 预测算法2.1 Logistic回归模型2.2 基于动力学SEIR模型改进的SEITR模型2.3 LSTM神经网络模型 3 预测效果3.1 Logistic回归模型3.2 SEITR模型3.3 LSTM神经网络模型 4 结论5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 …...

机械设计师应该在工作中培养哪些良好习惯?

图纸规范 1、一定要按照制图标准设计图纸&#xff01;图纸上任何一条直线&#xff08;无论是点划线、粗实线、细实线等等&#xff09;、数值、公差、图标等&#xff0c;都必须有理有据&#xff0c;不能想当然。图纸是产品生产的基础&#xff0c;无论是生产、加工、装配&#x…...

小程序新增功能页面

需求背景: 小程序主页面有个报名板块,我打算替换主页面报名板块菜单,迁移到我的页面里面, 替换成资讯栏目,我喜欢分享最新技术,开源课题,IT资讯,本想做成论坛的效果,由于时间问题,先替换添加板块 替换后效果: 模块功能: 添加、修改、删除、查看 文件目录:// 添…...

LeetCode每日一题——2652. Sum Multiples

文章目录 一、题目二、题解 一、题目 Given a positive integer n, find the sum of all integers in the range [1, n] inclusive that are divisible by 3, 5, or 7. Return an integer denoting the sum of all numbers in the given range satisfying the constraint. E…...

Python问答题(更新中)

1. 列表&#xff08;list&#xff09;和元组&#xff08;tuple&#xff09;有什么区别&#xff1f; 列表是可变的&#xff0c;创建后可以对其进行修改&#xff1b;元组是不可变的&#xff0c;元组一旦创建&#xff0c;就不能对其进行更改。列表表示的是顺序。它们是有序序列&a…...

服务器中了locked勒索病毒怎么办,勒索病毒解密,数据恢复

最近一段时间内&#xff0c;相信很多使用金蝶或用友的办公软件的企业&#xff0c;有很多都经历了locked勒索病毒的攻击&#xff0c;导致企业服务器被加密无法正常使用&#xff0c;严重影响了企业的正常工作。通过云天数据恢复中心的解密恢复发现&#xff0c;在今年locked勒索病…...

游游的字母串 (环形数组两点之间的位置)

题目链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 题目&#xff1a; 样例&#xff1a; 输入 yab 输出 3 思路&#xff1a; 暴力枚举&#xff0c;全部变成对应的26个字母字符需要的操作步数&#xff0c;取最少的一个操作步数&#xff0c; 这里的操作步数&#xff0…...

Flink的ResourceManager详解(一)

ResourceManager 总结 一、概述 1、ResourceManager 管理 Flink 集群中的计算资源&#xff0c;计算资源主要来自 TaskManager 组件。 2、如果集群采用 Native【本地模式】部署&#xff0c;则 ResourceManager 会动态地向集群资源管理器申请 Container 并启动TaskManager&…...

Tornado 可以使用 nginx 提供负载均衡

Tornado和nginx都是网络服务器的重要组成部分&#xff0c;但它们在职能和使用场景上存在显著的差异。 Tornado可以独立运行&#xff0c;而不需要依赖nginx等其他Web服务器。这是因为Tornado本身就是一个完整的Web服务器&#xff0c;可以独立处理HTTP请求并返回响应数据。 ngi…...

Golang 面向对象编程 多态

基本介绍 变量(实例)具有多种形态。面向对象的第三大特征&#xff0c;在Go语言&#xff0c;多态特征是通过接口实现的&#xff08;接口能够体现多态的特征&#xff09;。可以按照统一的接口来调用不同的实现。这时接口变量就呈现不同的形态。 在前面的Usb接口案例&#xff0c;u…...

WLAN 无线案例(华为AC控制器配置模板)

实验说明&#xff1a; 无线用户VLAN 30 192.168.30.0/24 AP和AC用VLAN 20 192.168.20.0/24 有线网段 VLAN 10 192.168.10.0/24 步骤一&#xff1a;全网互通 sw1&#xff1a; sysname sw1 # vlan batch 10 20 30 # dhcp enable # ip pool 20 gateway-list 192.168.20.1…...

精美的早安问候语,暖心祝福,开心每一天

1、 美好的祝福&#xff0c;成了清晨的主题。相互问候&#xff0c;是一天的开始。让我们伴着不老的岁月&#xff0c;永远开心快乐。早晨好&#xff01; 2、 心宽似海&#xff0c;百福皆来&#xff0c;世事看淡&#xff0c;内心安然。随缘即福&#xff0c;随遇而安&#xff0…...

嵌入式养成计划-41----C++ auto--lambda表达式--C++中的数据类型转换--C++标准模板库(STL)--list--C++文件操作

九十九、auto 99.1 概念 C11引入了自动类型推导&#xff0c;和Python不一样&#xff0c;C中的自动类型推导&#xff0c;需要auto关键字来引导比如 &#xff1a;auto a 1.2; 会被编译器自动识别为 a 为 double 类型 99.2 作用 auto修饰变量&#xff0c;可以自动推导变量的数…...

全局事件总线

全局事件总线 功能&#xff1a;可以解决所有组件之间通信传数据的问题原理&#xff1a;通过一个共享对象&#xff0c;将所有组件全部绑定到对象上&#xff0c;即可通过这个对象实现组件与组件之间的传递数据&#xff0c;而这个共享对象叫做全局事件总线。 如何分清楚谁是发送方…...

通讯网关软件026——利用CommGate X2ORACLE-U实现OPC UA数据转入ORACLE

本文介绍利用CommGate X2ORACLE-U实将OPC UA数据源中的数据转入到ORACLE数据库。CommGate X2ORACLE-U是宁波科安网信开发的网关软件&#xff0c;软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示&#xff0c;将OPC UA数据源的数据写入到ORACLE数据…...

RAII与智能指针

RAII与智能指针 1.RAII1.1RAII理解1.2RAII的原理1.2.1简单的例子说明局部对象的自动销毁的特性 1.2.2 RAII 过程 2.智能指针2.1 auto_ptr2.1.1auto_ptr的使用构造函数与析构函数拷贝构造函数与赋值提领操作auto ptr其它函数 2.1.2autoptr使用的注意事项 2.2 unique_ptr2.2.1uni…...

易云维智慧工业云平台助力广西国企培育数字产业化平台,打造数字化产业生态

2022年6月6日&#xff0c;广西壮族自治区人民政府国有资产监督管理委员会出台了《国有企业数字化转型工作实施意见》&#xff0c;明确了总体要求、主要目标、重点推进国有企业数字化转型的任务和保障措施。 《意见》预计&#xff0c;到2025年底&#xff0c;广西基本实现自治区级…...

【密码学】第三章、分组密码

DES、IDEA、AES、SM4 1、分组密码定义&#xff08;按照五个组成部分答&#xff09; 密钥空间&#xff1a;属于对称加密算法kekd明密文空间&#xff1a;将明文划分为m比特的组&#xff0c;每一块依次进行加密加解密算法&#xff1a;由key决定一个明文到密文的可逆映射 2、发展…...

宁夏企业过等保选哪家测评机构好?选哪家堡垒机好?

最近不少宁夏小伙伴在问&#xff0c;宁夏企业过等保选哪家测评机构好&#xff1f;选哪家堡垒机好&#xff1f;今天我们小编就给大家来简单说说哈&#xff01; 宁夏企业过等保选哪家测评机构好&#xff1f; 目前宁夏正规具有资质的等保测评机构只有3家&#xff0c;分别为中电信…...

Vue绑定style和class 对象写法

适用于&#xff1a;要绑定多个样式&#xff0c;个数确定&#xff0c;名字也确定&#xff0c;但不确定用不用。 绑定 class 样式【对象写法】&#xff1a; .box{width: 100px;height: 100px; } .aqua{background-color: aqua; } .border{border: 20px solid red; } .radius{bor…...

使用vue-sign插件

Vue-sign是一个基于Vue.js和Canvas的签名组件&#xff0c;可以轻松地在Vue应用程序中实现签名板或手写签名功能。使用它可以使用户在前端网页上直接进行手写签名&#xff0c;实现更好的用户交互和业务需求。 使用Vue-sign可以提供以下好处&#xff1a; 通过Vue.js框架进行开发…...

python究竟可以用来做些什么

这里就不撰述python的一些像什么“高级语言”之类的比较常规的介绍了&#xff0c;还是老样子&#xff0c;说说一些比较常用的东西吧。 python是什么 python&#xff0c;一款可编程的开源软件&#xff0c;很多第三方库、框架也是开源的&#xff0c;比如强大的anaconda、sklear…...

Segment Anything(论文解析)

Segment Anything 摘要1.介绍2 SAM任务SAM模型 摘要 我们介绍了“Segment Anything” (SA) 项目&#xff1a;这是一个新的任务、模型和数据集对于图像分割。使用我们高效的模型进行数据收集&#xff0c;我们构建了迄今为止最大的分割数据集&#xff08;远远超过其他数据集&…...

@ConditionalOnProperty 用法

文章目录 前言一、使用场景二、使用步骤1.错误示例2.ConditionalOnProperty的解决方案 总结 前言 ConditionalOnProperty 是Spring Boot中的条件注解&#xff0c;它的核心功能是通过属性名以及属性值来实现的&#xff0c;常被用于判断某个属性是否存在&#xff0c;然后决定某个…...

如何选择超声波清洗机、超声波清洗机排行榜

眼镜的日常清洗生活中很多人都会把它给忘记&#xff01;长时间下来眼镜支架就会变成黄色的&#xff0c;非常的难洗掉&#xff0c;从而又浪费了一个眼镜。一副好的眼镜也不便宜的&#xff0c;把换眼镜的钱省下来入一款超声波清洗机&#xff0c;可以大大的减少金钱的支持&#xf…...

大家这么喜欢这件羽绒服的吗?眼光太好啦

简单干净散发着朝气&#xff0c;温暖的气息由内而外 90白鸭绒&#xff0c;高密度充绒量和蓬松度 三防工艺&#xff0c;立领连帽设计 下摆抽绳&#xff0c;帽子上的魔术贴设计 无一不将保暖落实在实处...

pytorch 入门(二)

本文为&#x1f517;小白入门Pytorch内部限免文章 &#x1f368; 本文为&#x1f517;小白入门Pytorch中的学习记录博客&#x1f366; 参考文章&#xff1a;【小白入门Pytorch】教案二&#x1f356; 原作者&#xff1a;K同学啊 目录 一、神经网络的组成部分1. 神经元2. 神经网络…...

2023年国赛-大数据应用开发(师生同赛)_赛项规程样题解析

2023年国赛-大数据应用开发(师生同赛)_赛项规程样题解析-任务B&#xff1a;离线数据处理_子任务一&#xff1a;数据抽取2023年国赛-大数据应用开发(师生同赛)_赛项规程样题解析-任务B&#xff1a;离线数据处理_子任务二&#xff1a;数据清洗2023年国赛-大数据应用开发(师生同赛…...

MNE系列教程1——MNE的安装与基本绘图

一、MNE包简介 MNE-Python是一个强大的Python库,专门用于脑电图(EEG)和磁共振成像(MRI)数据的分析和可视化。它提供了广泛的工具,使研究人员能够高效地处理神经科学数据。 MNE-Python支持许多数据格式,包括标准的EEG和MEG文件格式,以及不同类型的MRI数据。它可以用于…...

黑马JVM总结(三十六)

&#xff08;1&#xff09;CAS-概述 cas是配合volatile使用的技术 &#xff0c;对共享变量的安全性要使用synachonized加锁&#xff0c;但是CAS不加锁&#xff0c;它是使用where&#xff08;true&#xff09;的死循环&#xff0c;里面compareAndSwap尝试把结果赋值给共享变量&…...

【React】01-React的入门

文章目录 1.1 React简介1.1.1 官网1.1.2 介绍描述1.1.3 React的特点1.1.3 React高效的原因 1.2.React的基本使用1.2.2.相关js库1.2.3.创建虚拟DOM的两种方式1.2.4.虚拟DOM与真实DOM 1.3.React JSX1.3.1.效果jsx语法规则&#xff1a;1.3.2.JSX1.3.3.渲染虚拟DOM(元素)1.3.4.JSX练…...

【C语言进阶】自定义类型:结构体,枚举,联合

自定义类型&#xff1a;结构体&#xff0c;枚举&#xff0c;联合 1.结构体1.1结构体类的基础知识1.2结构的声明1.3特殊的声明1.4结构的自引用1.5结构体变量的定义和初始化1.6结构体内存对齐1.7修改默认对齐1.8结构体传参 2.段位2.1什么是段位2.2段位的内存分配2.3位段的跨平台问…...

Sklearn 聚类算法的性能评估

聚类算法的性能评估是什么? 聚类是无监督学习的一种常用技术,用于将相似的数据点分组在一起。然而在实施聚类算法后,一个关键的问题便是如何评估其性能或质量。由于聚类是无监督的,因此评估其性能相对更为复杂。本文将探讨多种用于评估聚类性能的指标,包括肘部法则、轮廓…...

9月最新外贸进出口数据出来了,外贸整体向好

10月13日&#xff0c;海关总署发布数据显示&#xff0c;今年前三季度中国货物贸易出口2.52万亿美元&#xff0c;下降5.7%。 9月当月&#xff0c;中国出口2991.3亿美元&#xff0c;同比下降6.2%。贸易顺差777.1亿美元。 这个数据还是在改善的。特别是&#xff0c;我们看到全球…...

SSL证书有效期越来越短是什么原因?

随着互联网的普及和数据安全意识的提高&#xff0c;SSL证书的使用变得日益普遍。SSL证书是一种用于加密数据传输并验证网站身份的安全协议。它们通过加密在用户浏览器和网站服务器之间传输的数据&#xff0c;从而确保数据的隐私和完整性。此外&#xff0c;SSL证书还通过数字签名…...

【前段基础入门之】=>CSS3新特性 3D 变换

导语 在上一章节中&#xff0c;我们分享了2D 变换的效果&#xff0c;也分享了一些案例&#xff0c;同时&#xff0c;既然有2D 变换&#xff0c;那么也就肯定有 3D 变换 那么本章节&#xff0c;就为大家带来有关3D 变换的分享. 文章目录 开启3D空间设置景深透视点位置3D 位移3D …...

form表单的三种封装方法(Vue+ElementUI)

form表单的三种封装方法&#xff08;VueElementUI&#xff09; 1.首先是最普通&#xff0c;也是大家最先想到的方法&#xff0c;直接封装&#xff1a;2.实现表单动态渲染、可视化配置的方法&#xff0c;动态表单又可以分为两种方法&#xff1a;(注意&#xff1a;注意 v-model 的…...

云原生周刊:CNCF 宣布 Cilium 毕业 | 2023.10.16

开源项目推荐 Reloader Reloader 是一个 Kubernetes 控制器&#xff0c;用于监控 ConfigMap 和 Secrets 中的变化&#xff0c;并对 Pod 及其相关部署、StatefulSet、DaemonSet 和 DeploymentConfig 进行滚动升级&#xff01; Spegel Spegel 在瑞典语中意为镜像&#xff0c;…...