Qt字符串类应用与常用基本数据类型

目录

[一.Qt 字符串类应用](#一.Qt 字符串类应用)

1、常用操作字符串

[1.1 QString 提供一个二元的"+"操作符,主要用于组合两个字符串。QString str1'"Hello world"传递给 QString 一个 const char*类型的 ASCII 字符串"Hello world",它被解释为一个典型的以"\0"结尾的 C 类型字符串](#1.1 QString 提供一个二元的“+”操作符,主要用于组合两个字符串。QString str1'"Hello world"传递给 QString 一个 const char*类型的 ASCII 字符串“Hello world”,它被解释为一个典型的以“\0”结尾的 C 类型字符串)

[1.2 QString::append()函数具备与"+="操作符同样的功能,直接在一个字符串末尾添加另一个字符串。](#1.2 QString::append()函数具备与“+=”操作符同样的功能,直接在一个字符串末尾添加另一个字符串。)

[1.3 组合字符串: QString::sprintf ()。其实它跟 C++库当中sprintf()函数一样](#1.3 组合字符串: QString::sprintf ()。其实它跟 C++库当中sprintf()函数一样)

[1.4 字符串组合方式 QString::arg()函数,该函数的重载可以处理多种数据类型。因为它类型安全,同时支持 Unicode,可以改变%n 参数顺序。](#1.4 字符串组合方式 QString::arg()函数,该函数的重载可以处理多种数据类型。因为它类型安全,同时支持 Unicode,可以改变%n 参数顺序。)

2、常用查询字符串

[2.1 函数 QString::startswith()判断一个字符串是否以某个字符串开头。Qt::CaseInsensitive 代表大小写不敏感; Qt::CaseSensitive表示大小定敏感。对应关系函数:QString::endsWith()。](#2.1 函数 QString::startswith()判断一个字符串是否以某个字符串开头。Qt::CaseInsensitive 代表大小写不敏感; Qt::CaseSensitive表示大小定敏感。对应关系函数:QString::endsWith()。)

[2.2 函数 QString::contains (判断一个指定的字符串是否出现过)](#2.2 函数 QString::contains (判断一个指定的字符串是否出现过))

[2.3 QString::toInt()函数将字符串转换为整型数值 toDouble () /toFloat () /toLong()等等](#2.3 QString::toInt()函数将字符串转换为整型数值 toDouble () /toFloat () /toLong()等等)

[2.4 QString::compare ( 函数对两个字符串进行比较)](#2.4 QString::compare ( 函数对两个字符串进行比较))

[2.5 Qt将QString 转换成 ASCII码](#2.5 Qt将QString 转换成 ASCII码)

二、Qt 常见基本数据类型(注意:定义在#include ))

QDateTime

QByteArray


一.Qt 字符串类应用

1、常用操作字符串
1.1 QString 提供一个二元的"+"操作符,主要用于组合两个字符串。QString str1'"Hello world"传递给 QString 一个 const char*类型的 ASCII 字符串"Hello world",它被解释为一个典型的以"\0"结尾的 C 类型字符串
cpp 复制代码
#include <QCoreApplication> //Qt提供一个事件循环

#include <QDebug> //输出流

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    //1.1 QString 提供二元+操作符运用,功能与+=一样
    QString str1 = "zgl";
    str1 = str1+"nb";
    qDebug()<<str1; //打印信息
    qDebug()<<qPrintable(str1); //去双引号

    QString str2 = "666";
    str2 =  str2 +"zgl";
    qDebug()<<str2;
    qDebug()<<qPrintable(str2);

    return a.exec();
}
1.2 QString::append()函数具备与"+="操作符同样的功能,直接在一个字符串末尾添加另一个字符串。
cpp 复制代码
    //1.2 QString::append()函数
    QString str1 = "zgl";
    QString str2 = "nb";
    str1.append(str2);
    qDebug()<<str1;
    qDebug()<<qPrintable(str1);
1.3 组合字符串: QString::sprintf ()。其实它跟 C++库当中sprintf()函数一样
cpp 复制代码
    //1.3 QString::sprintf()函数
    QString strtemp;
    strtemp.sprintf("%s","hello zgl");
    qDebug()<<qPrintable(strtemp);
    strtemp.sprintf("%s","hello ljx");
    qDebug()<<qPrintable(strtemp);

    strtemp.sprintf("%s %s","zgl","ljx"); //空格bian表示字符串间距
    qDebug()<<qPrintable(strtemp);
1.4 字符串组合方式 QString::arg()函数,该函数的重载可以处理多种数据类型。因为它类型安全,同时支持 Unicode,可以改变%n 参数顺序。
cpp 复制代码
    //1.4 QString::arg()函数
    QString strtemp;
    strtemp = QString("%1 very nb and %2").arg("zgl").arg(666);
    qDebug()<<strtemp;
    qDebug()<<qPrintable(strtemp);
2、常用查询字符串
2.1 函数 QString::startswith()判断一个字符串是否以某个字符串开头。Qt::CaseInsensitive 代表大小写不敏感; Qt::CaseSensitive表示大小定敏感。对应关系函数:QString::endsWith()。
cpp 复制代码
    //2.1 QString::startswith()函数
    QString strtemp = "zgl very nb";
    qDebug()<<strtemp.startsWith("zgl",Qt::CaseSensitive); //大小写敏感,返回值为true
    qDebug()<<strtemp.startsWith("Zgl",Qt::CaseSensitive); //大小写敏感,返回值为false
    qDebug()<<strtemp.startsWith("Zgl",Qt::CaseInsensitive); //大小写不敏感,返回值为true
    qDebug()<<strtemp.startsWith("nb",Qt::CaseInsensitive); //大小写不敏感,返回值为false
2.2 函数 QString::contains (判断一个指定的字符串是否出现过)
cpp 复制代码
    //2.2 QString::contains()函数
    QString strtemp = "zgl nb";
    qDebug()<<strtemp.contains("zgl",Qt::CaseSensitive); //返回值为true
2.3 QString::toInt()函数将字符串转换为整型数值 toDouble () /toFloat () /toLong()等等
cpp 复制代码
    //2.3 QString::toInt()函数
    QString str="25";
    bool isloop; //bool类型返回值为true或者false
    int hex = str.toInt(&isloop,16); //十六进制的25转换为十进制为37
    qDebug()<<"isloop="<<isloop<<","<<"hex="<<hex<<endl;
2.4 QString::compare ( 函数对两个字符串进行比较)
cpp 复制代码
    //2.4 QString::compare()函数
    int a1 = QString::compare("abc","Abc",Qt::CaseInsensitive); //大小写不敏感
    int b1 = QString::compare("abc","Abc",Qt::CaseSensitive); //大小写敏感
    int c1 = QString::compare("Abc","abc",Qt::CaseSensitive); //大小写敏感
    cout<<"a = "<<a1<<","<<"b = "<<b1<<","<<"c = "<<c1<<endl; //ASCII码大小写差32,A=65,a=97
2.5 Qt将QString 转换成 ASCII码
cpp 复制代码
    //2.5 Qt将QString 转换成 ASCII码 ASCII码大小写差32,A=65,a=97
    QString str = "ABC abc";
    QByteArray bytes = str.toUtf8();
    for(int i=0;i<str.size();i++){
        qDebug()<<int(bytes.at(i));
    }

二、Qt 常见基本数据类型(注意:定义在#include <QtGlobal>)

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

类型名称 注释 备注
qint8 signed char 有符号8位数据
qint16 signed short 16位数据类型
qint32 signed short 32位有符号数据类型
qint64 long long int 或(__int64) 64位有符号数据类型,Windows中定义为__int64
qintptr qint32 或 qint64 指针类型 根据系统类型不同而不同,32位系统为qint32、64位系统为qint64
qlonglong long long int 或(__int64) Windows中定义为__int64
qptrdiff qint32 或 qint64 根据系统类型不同而不同,32位系统为qint32、64位系统为qint64
qreal double 或 float 除非配置了-qreal float选项,否则默认为double
quint8 unsigned char 无符号8位数据类型
quint16 unsigned 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 无符号短整型
QDateTime
cpp 复制代码
// 构造函数
QDateTime::QDateTime();
QDateTime::QDateTime(const QDate &date, const QTime &time, Qt::TimeSpec spec = Qt::LocalTime);
​
// 公共成员函数
// 设置日期
void QDateTime::setDate(const QDate &date);
// 设置时间
void QDateTime::setTime(const QTime &time);
// 给当前日期对象追加 年/月/日/秒/毫秒, 参数可以是负数
QDateTime QDateTime::addYears(int nyears) const;
QDateTime QDateTime::addMonths(int nmonths) const;
QDateTime QDateTime::addDays(qint64 ndays) const;
QDateTime QDateTime::addSecs(qint64 s) const;
QDateTime QDateTime::addMSecs(qint64 msecs) const;
​
// 得到对象中的日期
QDate QDateTime::date() const;
// 得到对象中的时间
QTime QDateTime::time() const;
​
// 日期和时间格式, 格式字符参考QDate 和 QTime 类的 toString() 函数
QString QDateTime::toString(const QString &format) const;
​
​
// 操作符重载 ==> 日期时间对象的比较
bool QDateTime::operator!=(const QDateTime &other) const;
bool QDateTime::operator<(const QDateTime &other) const;
bool QDateTime::operator<=(const QDateTime &other) const;
bool QDateTime::operator==(const QDateTime &other) const;
bool QDateTime::operator>(const QDateTime &other) const;
bool QDateTime::operator>=(const QDateTime &other) const;
​
// 静态函数
// 得到当前时区的日期和时间(本地设置的时区对应的日期和时间)
[static] QDateTime QDateTime::currentDateTime();
QByteArray
cpp 复制代码
    // QDateTime QByteArray
    QDateTime dt;
    QString strDT=dt.currentDateTime().toString("yyyy-MM-dd hh:mm:ss");
    qDebug()<<strDT<<endl;

    QByteArray a1("Qt Creator Hello World.");
    QByteArray b1=a1.toLower(); // 将字符串大写字母转小写,小写不变
    qDebug()<<b1<<endl;
    QByteArray c1=a1.toUpper();
    qDebug()<<c1<<endl;
相关推荐
DARLING Zero two♡12 分钟前
关于我、重生到500年前凭借C语言改变世界科技vlog.16——万字详解指针概念及技巧
c语言·开发语言·科技
7年老菜鸡13 分钟前
策略模式(C++)三分钟读懂
c++·qt·策略模式
Gu Gu Study15 分钟前
【用Java学习数据结构系列】泛型上界与通配符上界
java·开发语言
芊寻(嵌入式)37 分钟前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
一颗松鼠1 小时前
JavaScript 闭包是什么?简单到看完就理解!
开发语言·前端·javascript·ecmascript
有梦想的咸鱼_1 小时前
go实现并发安全hashtable 拉链法
开发语言·golang·哈希算法
海阔天空_20131 小时前
Python pyautogui库:自动化操作的强大工具
运维·开发语言·python·青少年编程·自动化
天下皆白_唯我独黑1 小时前
php 使用qrcode制作二维码图片
开发语言·php
夜雨翦春韭1 小时前
Java中的动态代理
java·开发语言·aop·动态代理
小远yyds1 小时前
前端Web用户 token 持久化
开发语言·前端·javascript·vue.js