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

吉林网站建设/市场营销

吉林网站建设,市场营销,联雅网站建设,php租车网站1.基础类型 因为Qt是一个C++ 框架, 因此C++中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数类型 QT基本数据类型定义在#include <QtGlobal> 中,QT基本数据类型有: 类型名称注释备注qint8signed ch…

1.基础类型

        因为Qt是一个C++ 框架, 因此C++中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数类型

        QT基本数据类型定义在#include <QtGlobal> 中,QT基本数据类型有:

类型名称注释备注
qint8signed char有符号8位数据
qint16signed short16位数据类型
qint32signed int32位有符号数据类型
qint64long long int 或(__int64)64位有符号数据类型,Windows中定义为__int64
qintptrqint32 或 qint64指针类型 根据系统类型不同而不同,32位系统为qint32、64位系统为qint64
qlonglong  long long int 或(__int64)Windows中定义为__int64
qptrdiffqint32 或 qint64根据系统类型不同而不同,32位系统为qint32、64位系统为qint64
qrealdouble 或 float除非配置了-qreal float选项,否则默认为double
quint8unsigned char无符号8位数据类型
quint16unsigned short无符号16位数据类型
quint32    unsigned int无符号32位数据类型
quint64    unsigned long long int 或 (unsigned __int64)    无符号64比特数据类型,Windows中定义为unsigned __int64
quintptr   quint32 或 quint64    根据系统类型不同而不同,32位系统为quint32、64位系统为quint64
qulonglong   unsigned long long int 或 (unsigned __int64)   Windows中定义为__int64
uchar       unsigned char    无符号字符类型
 
uint   unsigned int 无符号整型
ulong   unsigned long    无符号长整型
 
ushort    unsigned short   无符号短整型

2.log输出

2.1 在调试窗口中输入日志

        在Qt中进行log输出, 一般不使用c中的printf, 也不是使用C++中的cout, Qt框架提供了专门用于日志输出的类, 头文件名为 QDebug, 使用方法如下:

 创建一个新项目:添加头文件#include <QDebug> 

        qDebug() << "I'm rich" << "*" << 100000000;

运行结果:会在窗口下面应用程序输出下输出我们输入的数据:

2.2 在终端窗口中输出日志

如果想要数据在调试窗口中输出:

(1)点开.pro文件:在CONFIG += c++17 后面添加 console

 (2)点击项目右键选择重新构造

(3)在Windows上再次编译就会出现一个调试窗口了, MacOS没有调试窗口。

3.字符串类型

        在Qt中不仅支持C, C++中的字符串类型, 而且还在框架中定义了专属的字符串类型, 我们必须要掌握在Qt中关于这些类型的使用和相互之间的转换

语言类型字符串类型
Cchar *
C++std::string 、char *
QtQByteArray, QString 等

3.1 QByteArray

        在Qt中QByteArray可以看做是c语言中 char*的升级版本。我们在使用这种类型的时候可通过这个类的构造函数申请一块动态内存,用于存储我们需要处理的字符串数据

QByteArray构造函数:

// 构造空对象, 里边没有数据
QByteArray::QByteArray();
 

// 将data中的size个字符进行构造, 得到一个字节数组对象
// 如果 size==-1 函数内部自动计算字符串长度, 计算方式为: strlen(data)

QByteArray::QByteArray(const char *data, int size = -1);
 

// 构造一个长度为size个字节, 并且每个字节值都为ch的字节数组
QByteArray::QByteArray(int size, char ch);

QByteArray数据操作:

// 在尾部追加数据
// 其他重载的同名函数可参考Qt帮助文档, 此处略

QByteArray &QByteArray::append(const QByteArray &ba);
void QByteArray::push_back(const QByteArray &other);

// 头部添加数据
// 其他重载的同名函数可参考Qt帮助文档, 此处略

QByteArray &QByteArray::prepend(const QByteArray &ba);
void QByteArray::push_front(const QByteArray &other);

// 插入数据, 将ba插入到数组第 i 个字节的位置(从0开始)
// 其他重载的同名函数可参考Qt帮助文档, 此处略

QByteArray &QByteArray::insert(int i, const QByteArray &ba);

// 删除数据
// 从大字符串中删除len个字符, 从第pos个字符的位置开始删除

QByteArray &QByteArray::remove(int pos, int len);
 

// 从字符数组的尾部删除 n 个字节
void QByteArray::chop(int n);
 

// 从字节数组的 pos 位置将数组截断 (前边部分留下, 后边部分被删除)
void QByteArray::truncate(int pos);
 

// 将对象中的数据清空, 使其为null
void QByteArray::clear();

// 字符串替换
// 将字节数组中的 子字符串 before 替换为 after
// 其他重载的同名函数可参考Qt帮助文档, 此处略

QByteArray &QByteArray::replace(const QByteArray &before, const QByteArray &after);

 QByteArray子字符串查找和判断:

// 判断字节数组中是否包含子字符串 ba, 包含返回true, 否则返回false
bool QByteArray::contains(const QByteArray &ba) const;
bool QByteArray::contains(const char *ba) const;
 

// 判断字节数组中是否包含子字符 ch, 包含返回true, 否则返回false
bool QByteArray::contains(char ch) const;

// 判断字节数组是否以字符串 ba 开始, 是返回true, 不是返回false
bool QByteArray::startsWith(const QByteArray &ba) const;
bool QByteArray::startsWith(const char *ba) const;
 

// 判断字节数组是否以字符 ch 开始, 是返回true, 不是返回false
bool QByteArray::startsWith(char ch) const;

// 判断字节数组是否以字符串 ba 结尾, 是返回true, 不是返回false
bool QByteArray::endsWith(const QByteArray &ba) const;
bool QByteArray::endsWith(const char *ba) const;
 

// 判断字节数组是否以字符 ch 结尾, 是返回true, 不是返回false
bool QByteArray::endsWith(char ch) const;

QByteArray遍历:

// 使用迭代器
iterator QByteArray::begin();
iterator QByteArray::end();

// 使用数组的方式进行遍历
// i的取值范围 0 <= i < size()

char QByteArray::at(int i) const;
char QByteArray::operator[](int i) const;

QByteArray查看字节数:

// 返回字节数组对象中字符的个数
int QByteArray::length() const;
int QByteArray::size() const;

相关文章:

Qt中的基础数据类型

1.基础类型 因为Qt是一个C++ 框架, 因此C++中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数类型 QT基本数据类型定义在#include <QtGlobal> 中,QT基本数据类型有: 类型名称注释备注qint8signed ch…...

2023阿里云域名优惠口令大全

2023年阿里云域名优惠口令&#xff0c;com域名续费优惠口令“com批量注册更享优惠”&#xff0c;cn域名续费优惠口令“cn注册多个价格更优”&#xff0c;cn域名注册优惠口令“互联网上的中国标识”&#xff0c;阿里云优惠口令是域名专属的优惠码&#xff0c;可用于域名注册、续…...

湖南软件测评公司简析:软件功能测试和非功能测试的联系和区别

一、软件功能测试   软件功能测试旨在验证软件是否按照需求规格说明书的要求正常工作。具体而言&#xff0c;功能测试会对软件的所有功能进行测试&#xff0c;以确保其满足用户的需求和预期。在进行功能测试时&#xff0c;根据需求规格说明书编写测试用例&#xff0c;并在测试…...

HuggingFace Transformers教程(1)--使用AutoClass加载预训练实例

知识的搬运工又来啦 ☆*: .&#xff61;. o(≧▽≦)o .&#xff61;.:*☆ 【传送门>原文链接:】https://huggingface.co/docs/transformers/autoclass_tutorial &#x1f697;&#x1f693;&#x1f695;&#x1f6fa;&#x1f699;&#x1f6fb;&#x1f68c;&#x1f6…...

Qt获取当前所用的Qt版本、编译器、位数等信息

//详细的Qt版本编译器位数 QString compilerString "<unknown>"; { #if defined(Q_CC_CLANG)QString isAppleString; #if defined(__apple_build_version__)isAppleString QLatin1String(" (Apple)"); #endifcompilerString QLatin1String("…...

《C和指针》笔记31:多维数组的数组名、指向多维数组的指针、作为函数参数的多维数组

文章目录 1. 指向多维数组的数组名2. 指向多维数组的指针3. 作为函数参数的多维数组 1. 指向多维数组的数组名 我们知道一维数组名的值是一个指针常量&#xff0c;它的类型是“指向元素类型的指针”&#xff0c;它指向数组的第1个元素。那么多维数组的数组名代表什么呢&#x…...

【伪彩色图像处理】将灰度图像转换为彩色图像研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

Go Gin Gorm Casbin权限管理实现 - 2. 使用Gorm存储Casbin权限配置以及`增删改查`

文章目录 0. 背景1. 准备工作2. 权限配置以及增删改查2.1 策略和组使用规范2.2 用户以及组关系的增删改查2.2.1 获取所有用户以及关联的角色2.2.2 角色组中添加用户2.2.3 角色组中删除用户 2.3 角色组权限的增删改查2.3.1 获取所有角色组权限2.3.2 创建角色组权限2.3.3 修改角色…...

DNDC模型的温室气体排放分析

DNDC&#xff08;Denitrification-Decomposition&#xff0c;反硝化-分解模型&#xff09;是目前国际上最为成功的模拟生物地球化学循环的模型之一&#xff0c;自开发以来&#xff0c;经过不断完善和改进&#xff0c;从模拟简单的农田生态系统发展成为可以模拟几乎所有陆地生态…...

vue、全局前置守卫

需求&#xff1a;在使用商城app的时候&#xff0c;游客&#xff08;没有登录的用户&#xff09;可以看到商品信息&#xff0c;当游客点击添加购物车的时候&#xff0c;我们需要把游客“拦”到登录页面&#xff0c;登陆后&#xff0c;才可以添加商品。 游客只可以看得到部分页面…...

OpenWRT、Yocto 、Buildroot和Ubuntu有什么区别

OpenWRT&#xff1a; 用途&#xff1a;OpenWRT 是一个专注于路由器和嵌入式网络设备的Linux发行版。它提供了一个优化的Linux环境&#xff0c;旨在将网络设备变成功能丰富、高度可定制的路由器。 包管理器&#xff1a;OpenWRT 使用 opkg 包管理器&#xff0c;它是一个轻量级的…...

数据挖掘(3)特征化

从数据分析角度&#xff0c;DM分为两类&#xff0c;描述式数据挖掘&#xff0c;预测式数据挖掘。描述式数据挖掘是以简介概要的方式描述数据&#xff0c;并提供数据的一般性质。预测式数据挖掘分析数据建立模型并试图预测新数据集的行为。 DM的分类&#xff1a; 描述式DM&#…...

【RabbitMQ 实战】08 集群原理剖析

上一节&#xff0c;我们用docker-compose搭建了一个RabbitMQ集群&#xff0c;这一节我们来分析一下集群的原理 一、基础概念 1.1 元数据 前面我们有介绍到 RabbitMQ 内部有各种基础构件&#xff0c;包括队列、交换器、绑定、虚拟主机等&#xff0c;他们组成了 AMQP 协议消息…...

2023年 2月3月 工作经历

2月 #pragma make_public(type) 托管C导出传统C类&#xff0c;另一个托管C项目使用不了。传统C类make_public后&#xff0c;就可以使用了。对模板类无效&#xff0c;比如&#xff1a;std::string。 C#线程绑定CPU 我的方案&#xff1a; 假定我们想把 CPU0 设置成专有CPU。 定…...

selenium京东商城爬取

该项目主要参考与:http://c.biancheng.net/python_spider/selenium-case.html 你看完上述项目内容之后&#xff0c;会发现京东登录是一个比较坑的点&#xff0c;selenium控制浏览器没有登录京东,导致我们自动爬取网页被重定向到京东登录注册页面。 因此&#xff0c;我们要单独…...

用pandas处理数据时,使变量能够在不同的Notebook会话页面进行传递,魔法命令%store

【需求来源】 在使用pandas时&#xff0c;有的时候我想将.ipynb文件分开写 其中一个写清洗数据代码另外一个写数据可视化代码 【解决方案】 但是会涉及到变量转移问题&#xff0c;这个时候我通常使用的方法是&#xff1a; 1、在清洗完数据后导出到本地 2、在文件后面增加当…...

选择适合户外篷房企业的企业云盘解决方案

“户外篷房企业用什么企业云盘好&#xff1f;Zoho WorkDrive企业网盘可以帮助户外篷房企业实现文档统一管理、提高工作效率、加强团队协作&#xff0c;并且支持各种文件类型的预览和编辑。” S公司是一家注重管理规范的大型户外篷房企业&#xff0c;已经有10余年的经验。作为设…...

松鼠搜索算法(SSA)(含MATLAB代码)

先做一个声明&#xff1a;文章是由我的个人公众号中的推送直接复制粘贴而来&#xff0c;因此对智能优化算法感兴趣的朋友&#xff0c;可关注我的个人公众号&#xff1a;启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法&#xff0c;经典的&#xff0c;或者是近几年…...

折半+dp之限制转状态+状压:CF1767E

https://vjudge.net/problem/CodeForces-1767E/origin 首先40&#xff0c;必然折半。然后怎么做&#xff1f; 分析性质。每次可以走1步or2步&#xff0c;等价什么&#xff1f;等价任意相邻2个必选一个&#xff01;然后就可以建图 这个图是个限制图&#xff0c;我们折半后可以…...

如何写出优质代码

(本文转载自其他博主但是个人忘记了出处) 优质代码是什么&#xff1f; 优质代码是指那些易于理解、易于维护、可读性强、结构清晰、没有冗余、运行效率高、可复用性强、稳定性好、可扩展性强的代码。 这类代码不仅能够准确执行预期功能&#xff0c;同时也便于其他开发者理解…...

ChatGLM2-6B的通透解析:从FlashAttention、Multi-Query Attention到GLM2的微调、源码解读

前言 本文最初和第一代ChatGLM-6B的内容汇总在一块&#xff0c;但为了阐述清楚FlashAttention、Multi-Query Attention等相关的原理&#xff0c;以及GLM2的微调、源码解读等内容&#xff0c;导致之前那篇文章越写越长&#xff0c;故特把ChatGLM2相关的内容独立抽取出来成本文 …...

3D人脸生成的论文

一、TECA 1、论文信息 2、开源情况&#xff1a;comming soon TECA: Text-Guided Generation and Editing of Compositional 3D AvatarsGiven a text description, our method produces a compositional 3D avatar consisting of a mesh-based face and body and NeRF-based ha…...

解决问题:可以用什么方式实现自动化部署

自动化部署可以使用多种工具来实现&#xff1a; 脚本编写&#xff1a;可以使用 Bash、Python 等编写脚本来实现自动化部署。例如&#xff0c;可以使用 Bash 脚本来自动安装、配置和启动应用程序。 配置管理工具&#xff1a;像 Ansible、Puppet、Chef、Salt 等配置管理工具可以…...

【数据结构】链表栈

目录&#xff1a; 链表栈 1. 链式栈的实现2. 链表栈的创建3. 压栈4. 弹栈 链表栈 栈的主要表示方式有两种&#xff0c;一种是顺序表示&#xff0c;另一种是链式表示。本文主要介绍链式表示的栈。 链栈实际上和单链表差别不大&#xff0c;唯一区别就在于只需要对链表限定从头…...

Android笔记:Android 组件化方案探索与思考

组件化项目&#xff0c;通过gradle脚本&#xff0c;实现module在编译期隔离&#xff0c;运行期按需加载&#xff0c;实现组件间解耦&#xff0c;高效单独调试。 先来一张效果图 组件化初衷 APP版本不断的迭代&#xff0c;新功能的不断增加&#xff0c;业务也会变的越来越复杂…...

MeterSphere v2.10.X-lts 双节点HA部署方案

一、MeterSphere高可用部署架构及服务器配置 1.1 服务器信息 序号应用名称操作系统要求配置要求描述1负载均衡器CentOS 7.X /RedHat 7.X2C,4G&#xff0c;200GB部署Nginx&#xff0c;实现负载路由。 部署NFS服务器。2MeterSphere应用节点1CentOS 7.X /RedHat 7.X8C,16GB,200G…...

Java进阶篇--网络编程

​​​​​​​ 目录 计算机网络体系结构 什么是网络协议&#xff1f; 为什么要对网络协议分层&#xff1f; 网络通信协议 TCP/IP 协议族 应用层 运输层 网络层 数据链路层 物理层 TCP/IP 协议族 TCP的三次握手四次挥手 TCP报文的头部结构 三次握手 四次挥手 …...

PyTorch入门之【CNN】

参考&#xff1a;https://www.bilibili.com/video/BV1114y1d79e/?spm_id_from333.999.0.0&vd_source98d31d5c9db8c0021988f2c2c25a9620 书接上回的MLP故本章就不详细解释了 目录 traintest train import torch from torchvision.transforms import ToTensor from torchvi…...

马斯洛需求层次模型之安全需求之云安全浅谈

在互联网云服务领域&#xff0c;安全需求是用户首要考虑的因素之一。用户希望在将数据和信息托付给云服务提供商时&#xff0c;这些数据和信息能够得到充分的保护&#xff0c;避免遭受未经授权的访问、泄露或破坏。这种安全需求的满足&#xff0c;对于用户来说是至关重要的&…...

Pikachu靶场——远程命令执行漏洞(RCE)

文章目录 1. RCE1.1 exec "ping"1.1.1 源代码分析1.1.2 漏洞防御 1.2 exec "eval"1.2.1 源代码分析1.2.2 漏洞防御 1.3 RCE 漏洞防御 1. RCE RCE(remote command/code execute)概述&#xff1a; RCE漏洞&#xff0c;可以让攻击者直接向后台服务器远程注入…...