目录
[一.Qt 字符串类应用](#一.Qt 字符串类应用)
[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.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 ))
一.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;