2020-08-19 Qt中的数据结构

Qt—数据结构篇 本文主要介绍Qt主要的数据结构以及数据结构的使用场景对比 阅读详情

2020-08-19 Qt中的数据结构

Qt常用的数据类型:
qint8 quint8
qint16 quint16
qint32 quint32
qint64 quint64
qreal (表示是float)

例如:求取绝对值

    QCoreApplication a(argc, argv);
    qreal value=-4.333;
    qDebug()<<qAbs(value);
    QString str("小明");//QString存储Unicode字符
    QString str1="小张";
    str1.append("垂钓");//添加
    str1.prepend("今天,");
    str1.replace(4,3,"换");//替换掉3个字
    qDebug()<<str<<str1;
    //boost库作为STL外的扩展库

拓展:boost库作为STL外的扩展库,可以去尝试使用一下
boost与QT之间的可以走进程间通信,通过STL接口

2.QString输出

QString name="老王";
int age=20;
QString information=QString("name is %1,age is %2").arg(name).arg(age);
qDebug()<<information;

在这里插入图片描述
3.QString与std::string的转换

    //QString与std::string的转换
    std::string stdstr=information.toStdString();//转成std::string
    std::cout<<stdstr<<"\n";
    qDebug()<<QString::fromStdString(stdstr);//转成QString
    printf(stdstr.c_str());//转换成const char*,C语言接口

在这里插入图片描述
4.QByteArray

//QByteArray
//QByteArray can be used to store both raw bytes (including '\0's) and traditional 8-bit '\0'-terminated strings.
//QByteArray可用于存储原始字节(包括'\ 0')和传统的8位'\ 0'终止的字符串。
//与char类似
QByteArray ba("test\0");
qDebug()<<ba;

拓展:#include <QRegExp>//QT的正则表达式

5.Qt中的容器
帮助文档中搜索Container Classes
在这里插入图片描述
6.list与iterator的使用

//Qt的容器
//搜索container class获取更多信息
QList<QString> list;//模板类容器
list<<"A"<<"B"<<"C"<<"D";
list.append("E");
QString string1=list.at(0);
QList<QString>::iterator i;//使用读写迭代器
for(i=list.begin();i!=list.end();i++)
{
    *i=(*i).toLower();//将大写转化为小写
    qDebug()<<(*i);
}
    //也可以使用C语言的写法
    for (int i=0;i<list.size();i++) {
        qDebug()<<list.at(i);
    }

在这里插入图片描述
7.QMap的使用
需要头文件#include <QMap>

//Map的使用
QMap<int,QString> member;
member.insert(1,"小明");
member.insert(2,"小王");
member.insert(3,"小张");

QMap<int,QString>::iterator itor;
for (itor=member.begin();itor!=member.end();itor++) {
    qDebug()<<itor.key()<<":"<<itor.value();
}

8.sort的使用,排序

QList<int> list2;
list2<<1<<5<<3<<4<<2;
std::sort(list2.begin(), list2.end()) ;
QList<int>::iterator i2;
for (i2=list2.begin();i2!=list2.end();i2++) {
    qDebug()<<(*i2);
}

9.find键,修改值

itor=member.find(2);
itor.value()="老王";
for (itor=member.begin();itor!=member.end();itor++) {
    qDebug()<<itor.key()<<":"<<itor.value();
}
Qt基础教程:数据类型-数值类型 在Qt中,可以使用各种整数和浮点数的类型。这些数据类型可以使用不同的精度,并具有不同的可表示范围。Qt中的数值类型分为两类:整数类型和浮点类型。本文介绍了Qt中的两种数值类型:整数和浮点数。使用这些类型时,需要选择适当的精度和范围。在编写程序时,应确保正确使用数值类型,以避免潜在的错误。其中,qint表示有符号整数,quint表示无符号整数。Qt基础教程:数据类型-数值类型。 阅读详情

相关推荐

Cursor+Apifox MCP Server实战:5分钟搞定API自动化测试用例生成

本文详细介绍了如何利用Cursor IDE与Apifox MCP Server,在5分钟内将API文档自动转化为高质量的自动化测试用例。通过配置MCP Server建立数据桥梁,开发者可直接用自然语言指令,让AI基于真实接口规范生成可立即执行的pytest测试代码,大幅提升接口测试效率,特别适合快节奏的SaaS项目。

ooo22的博客 534

Qt的数据结构总结

数据结构,容器

zw_ggr_2017的博客 1276

别再花屏了!手把手教你用STM32CubeIDE搞定LVGL 8.3移植(附完整源码)

本文详细介绍了如何在STM32CubeIDE环境下成功移植LVGL 8.3,解决常见的花屏问题。从环境配置、显示驱动优化到编译警告处理,提供完整的实战方案和源码示例,帮助开发者快速实现流畅的嵌入式GUI界面。特别针对STM32平台的DMA2D加速和内存管理进行了深度优化。

weixin_33739646的博客 243

Qt6数据类型-qint8、quint8、qint16、quint16、qint32、quint32、qint64、quint64、uint、qlonglong、uchar、double

文章目录1.七种基本的 C++ 数据类型2.类型的变量所能存储的最大值和最小值3.Qt中使用的数据类型4.占用字节数计算API5.实现打印变量类型、字节数、最大值、最小值的例子 1.七种基本的 C++ 数据类型 类型 关键字 布尔型 bool 字符型 char 整型 int 浮点型 float 双浮点型 double 无类型 void 宽字符型 wchar_t 其实 wchar_t 是这样来的: typedef short int wchar_t; 2.类型的

小鱼酱的博客 3万+

C语言|深入浅出讲解int转换为float全过程(附2017年统考大题案例)

int转换为float类型为什么会发生精度损失? 精度损失的详细过程究竟是什么样的? 什么样情况float会发生精度损失?没有弄懂2017年浮点数统考大题? 这一篇用2017年统考大题案例帮你更深的理解浮点数的存储规则。

DADONGOOO的博客 1万+

基于STM32L4XX、HAL库的GC9307 TFT 液晶驱动IC驱动程序设计

GC9307是一款常用的TFT液晶驱动IC,支持240x320分辨率的RGB接口显示屏。(Master Out Slave In): 连接到STM32L4的SPI数据输出引脚(如PA7)(Serial Clock): 连接到STM32L4的SPI时钟引脚(如PA5)(Data/Command): 连接到STM32L4的GPIO引脚(如PA3)(Chip Select): 连接到STM32L4的GPIO引脚(如PA4)(Reset): 连接到STM32L4的GPIO引脚(如PA2): 分别连接到电源和地。

zhusl6688的博客 1036

QT中的数据类型qint8、qint16、qint32、qint64、qintptr、qlonglong、qttrdiff、qreal等的定义

typedef qint8 Typedef for signed char. This type is guaranteed to be 8-bit on all platforms supported by Qt. typedef for signed char,在Qt支持的所有平台上,此类型保证为8位。 typedef qint16 Typedef for signed short. ...

qq_18507467的博客 3万+

2024年电气工程师最新面试题及答案

1. **基本电气工程原理**:包括电流、电压、电阻、功率等基本概念。2. **欧姆定律**:V = IR,描述电压、电流和电阻之间的关系。42. **风力发电系统组成**:包括风力涡轮机、发电机、控制系统等。44. **智能电网技术**:包括自动化控制、通信技术、数据分析等。10. **减少EMI**:使用屏蔽、滤波、合理布线等方法。40. **光伏系统组成**:包括光伏板、逆变器、控制器等。48. **能量存储技术**:包括电池、超级电容器、飞轮等。

guo162308的博客 6564

2020-08-17Qt面试

以下都是按照回忆想起来的,不分先后。 1、hr:你是来面什么的? 我是来面Qt的。 2、hr:哦,Java啊,进去坐坐吧。 我是来面C++的。 3、技术面:介绍下自己。 巴拉巴拉。 // 4、面向对象的特征。 继承、封装、多态 5、多态是什么? 父类引用或指针指向子类对象。 6、多态是依靠什么实现的? 继承和虚函数。 7、虚函数有哪些?在内存中怎么实现的? 纯虚函数,虚函数。内存中使用虚函数列表,对...

qq_40737025的博客 637

Veritas NetBackup8.1.1安装

1.在服务器上运行Browser.exe 2.选中安装,点击"NetBackup Server Software Installation" 3.提示一个”UAC模式”,我们确定忽略它 4.下一步 5.接受授权,下一步 6.自定义安装 7.输入Key,并点击”netBackup Master Server” 8.自定义路径,下一步 9.默认端口,下一步 10.创建内置账户 创建本地用户帐户: C:\>net user nbwebsvc <StrongPassword> /

万物皆可学 2万+

Dify智能体开发:大语言模型(LLM)问题分类

通过定义分类描述,问题分类器能够根据用户输入,使用 LLM 推理与之相匹配的分类并输出分类结果,向下游节点提供更加精确的信息。

王国平的博客 2249

2020-12-08

Socket收发图片并通过opencv显示图片 如有侵权联系删除 项目需要,找了2天的代码只能接收和发送比较小的图片。没有办法自己研究找bug(发送数据过快导致接收不到完整数据),可以发送任意大小的图片。 服务端与客户端编程的步骤: 1:加载套接字库,创建套接字(WSAStartup()/socket()); 2:绑定套接字到一个IP地址和一个端口上(bind()); 3:将套接字设置为监听模式等待连接请求(listen()); 4:请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(acce

weixin_46855955的博客 1012

芯片原厂linux驱动开发的分享

大家好,我是XX,来自湖南XX学院,电子信息18级,也曾在创新基地控制组学习过两三年,毕业后就职于一家芯片原厂的解决方案部,担任驱动工程师的职位,算上实习期,我的工作时长已有两年。在此我想将这两年期间学习与积累到的一些经验输出出来,与大家一同分享。知识面有限,只能简单介绍一些驱动开发方向的一些经验,且由于经验尚浅,文中难免会有一些疏漏和错误之处,还请大家积极地批评指正。

嵌入式技术开发 849

2020-08-19标准对话框

标准对话框 在Qt的示例程序中,搜索Standard Dialogs 具体代码见参考文档。 例如:

KeepStu的博客 166

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

qt网络注册mysql_qt实现数据库注册

Qt学习之路(38): model-view架构从这一节开始,我们进入model-view阶段。这一阶段主要还是依据 C++ GUI Programming with Qt4, 2nd Edition。我们的系统有很多数据显示的需求,比如从数据库中把数据取出,然后以自己的方式显示在我们自己的应用程序的界面中。进行这一操作的典型方式是使用Q...文章科技小能手2017-11-14956浏览量QSet...

weixin_29505469的博客 421

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

ubuntu连接mysql和qt_ubuntu linux 下使用Qt连接MySQL数据库

ubuntu linux 下使用Qt连接MySQL数据库发布时间:2011-09-15 00:11:35 作者:佚名 我要评论Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好。直接在软件中心搜mysql,把client和server选上。环境说明:ubuntu 10.04.2QtSDK (1.5G安装包的那个)mysql5.11.安装MySQLLinux下完整...

weixin_28699983的博客 561

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

qt连接mysql数据库操作系统_ubuntu linux 下使用Qt连接MySQL数据库

ubuntu linux 下使用Qt连接MySQL数据库发布时间:2011-09-15 00:11:35 作者:佚名 我要评论Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好。直接在软件中心搜mysql,把client和server选上。环境说明:ubuntu 10.04.2QtSDK (1.5G安装包的那个)mysql5.11.安装MySQLLinux下完整...

weixin_39884412的博客 234

Python Qt5环境搭建 (即详细又全面)

1.下载Python 首先去Python官网下载需要的版本,官网连接:https://www.python.org/ 小插曲: 具体下载哪个版本,我踩了好多坑,此处分享一下踩坑经历。本人电脑安装的是Qt5.12.3。由于没接触过python,因此第一次去官网下载,肯定下载最新的。安装完成之后,又去Qt官网下载PySide2xxx,但是怎么安装都是失败,经过不断的踩坑,终于悟出了安装过程。具体如...

刘一儿(嵌入式) 1万+

QT5.14.2 官方例子 - Qt Widgets 6: Digital Clock(数字钟)

数字时钟的例子展示了如何使用QLCDNumber来显示具有类似lcd数字的数字。 这个示例还演示了如何使用QTimer定期更新小部件。 详细讲解在: http://doc.qt.io/qt-5/qtwidgets-widgets-digitalclock-example.html DigitalClock类提供了一个时钟部件,它显示时间,以一个闪烁的冒号分隔小时和分钟。我们子类化QLCDNumber并实现一个私有插槽showTime()来更新时钟显示: class Digital..

MatthewMao 630

交叉编译libxcb与X11

交叉编译libxcb编译前提编译X11编译Xtrans 编译前提 点我前往官网自己找 源码地址 更新日期 下载libxcb-1.14的源码 2020-02-22 下载libxcb-proto-1.14的源码 2020-02-22 – – 下载libX11-1.6.9的源码 2020-07-31 下载xtrans-1.4.0的源码 2019-03-16 其他: 源码地址 更新日期 libXext-1.3.4 2019-03-16 libXdmcp-1.1

aron566博客 9571

Qt5.14.2 aarch64静态交叉编译实战指南

静态链接是嵌入式Linux图形应用部署的核心技术,其本质是将Qt及所有依赖(如zlib、freetype、ICU)以.a形式内联进可执行文件,彻底规避目标板glibc版本不兼容、动态库缺失或权限受限等运行时崩溃风险。该方案在工业控制、医疗设备、车载仪表和边缘AI等无包管理、无网络、无root权限的封闭环境中具备不可替代的技术价值。Qt5.14.2因其官方完整静态构建支持与aarch64工具链成熟适配,成为当前国产ARM64平台(如RK3399、Jetson、飞腾)最稳定可靠的GUI开发基线版本。

weixin_34221332的博客 349

个人学习计划笔记(更新中...)

个人开发学习计划

Aliven888的博客 559

工作日志记录

记录工作中细碎的感悟和经验,持续补充中。

WSTONECH的博客 497

.NET (3.1版以前稱作.NET Core)是微軟開發的第一個跨平台 (Windows、Mac OSX、Linux)的應用程式開發框架(Application Framework)

(3.1版以前稱作)是微軟開發的第一個跨平台 ()的應用程式開發框架(Application Framework),未來也將會支援與平台。.Net Core也是微軟在一開始發展時就開源的軟體平台,它經常也會拿來和現有的開源 .NET 平台比較。

weixin_40191861的博客 677

小程序与Qt跨端JSON数据契约设计与安全处理

JSON作为轻量级数据交换格式,其序列化与解析在跨技术栈场景中面临类型兼容、精度丢失、时区歧义等共性挑战。理解JavaScript与C++生态对NaN、Infinity、Date、大整数等特殊值的处理差异,是构建稳定数据桥接能力的基础。本文聚焦微信小程序与Qt框架间的JSON协同实践,围绕语法校验、语义约束、Schema驱动验证三大维度,提供可落地的安全生成、容错解析与自动化校验方案,适用于离线缓存、本地题库、设备配置同步等强数据一致性需求场景。

weixin_28725959的博客 203

【Tools】Tools博客汇总

00. 目录 文章目录00. 目录01. Linux基础02. C语言03. 数据结构和算法04. C++05. Linux环境高级编程06. 数据库07. Qt08. 编辑器09. 版本控制工具10. 录屏软件11. CMake工具12. 思维导图13. 远程协助14. 屏幕共享工具15. Adobe软件16. 微软软件17.18.19.20. 01. Linux基础 【Tools】VMware虚拟机三种网络模式详解和操作 【Tools】Linux远程拷贝工具(WinSCP) 【Tools】Linux远程

C/C++软件工程师、嵌入式软件工程师、物联网研发工程师、C/C++讲师、物联网讲师、嵌入式讲师、鸿蒙讲师---欢迎大家一起交流(私信添加博主微信) 1704
上一篇: 2020-08-21 QT的下载
下一篇: 2020-08-19标准对话框
KeepStu
博客等级 码龄8年 2粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值