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;
相关推荐
Swift社区3 小时前
在 Swift 中实现字符串分割问题:以字典中的单词构造句子
开发语言·ios·swift
没头脑的ht3 小时前
Swift内存访问冲突
开发语言·ios·swift
没头脑的ht3 小时前
Swift闭包的本质
开发语言·ios·swift
wjs20243 小时前
Swift 数组
开发语言
stm 学习ing4 小时前
FPGA 第十讲 避免latch的产生
c语言·开发语言·单片机·嵌入式硬件·fpga开发·fpga
湫ccc5 小时前
《Python基础》之字符串格式化输出
开发语言·python
mqiqe6 小时前
Python MySQL通过Binlog 获取变更记录 恢复数据
开发语言·python·mysql
AttackingLin6 小时前
2024强网杯--babyheap house of apple2解法
linux·开发语言·python