QT5:先导篇 数据类型

一.简介

 

 

 

二.字符串类(QString)

1.增长字符串

(1)  + / +=
QString str1 = "Welcome";
str1 = str1 + "to you!";

QString str2 = "Hello";
str +="World";
 (2) QString::append()
QString str1 = "Welcome";
QString str2 = "to";

str1.append(str2);
str1.append("you!");
(3) QString::sprintf()

相似于C++库中的sprintf()函数app

QString str;
str.sprintf("%s", "Welcome");
str.sprintf("%s", "to you!");
str.sprintf("%s %s", "Welcome", "to you!");
 (4) QString::arg()
QString str;
str = QString("%1 was born in %2").arg("John").arg(1982);

 

2.删除字符串

3.更改字符串

4.查询字符串

(1) QString::startsWith()
// 判断一个字符串是否以某个字符串开头
QString str = "Welcome to you!" str.startsWith("Welcome", Qt::CaseSensitive); //返回true str.startsWith("you", Qt::CaseSensitive); //返回false
 (2) QString::endsWith()
// 判断一个字符串是否以某个字符串结尾

 

(3) QString::contains()
// 判断一个指定的字符串是否出现过
QString str = "Welcome to you!";
str.contains("Welcome", Qt::CaseSensitive); //返回true

 

5.字符串比较

(1) <  <=  >= == >

operator < (const QString&)  // 比较一个字符串是否小于另外一个字符串,若是是返回true函数

operator <= (const QString&)  // 比较一个字符串是否小于等于另外一个字符串,若是是返回trueui

operator == (const QString&)    // 比较两个字符串是否相等,若是相等返回trueblog

operator >= (const QString&)    // 比较一个字符串是否大于等于另外一个字符串,若是是返回true 内存

(2) localeAwareCompare()

localeAwareCompare(const QString&, const QString&)  // 比较两个字符串,若是小于返回负整数值,若是相等返回0,若是大于返回正整数值ci

(3) compare()

compare(const QString&, const QString&, Qt::CaseSensitivity)  // 是否进行大小写比较,相似localeAeareCompare()字符串

 

6.字符串转换

QString::toInt()string

QString::toDouble()it

QString::toFloat()table

QString::toLong()

QString::toLongLong()

 

QString::toAscii()

QString::toLatin1()

QString::toUtf8()

QString::toLocal8Bit()

bool ok;
QString valueStr = ui->lineEdit->text();
int valueInt = valueStr.toInt(&ok);
double area = valueInt * valueInt *PI;
QString tempStr;
ui->lineEdit->setText(tempStr.setNum(area));

QString str = "125";
bool ok;
int hex = str.toint(&ok, 16);
int dec = str.toInt(&ok, 10);

 

7.字符串判断

QString().isNull();

QString().isEmpty()

 

三.日期类(QData)

 

四.时间类(QTime)

 

五.顺序容器类

Qt的顺序容器类有QList QLinkedList  QVector QStack QQueue

 

1.QVector<T>

 QVertor<T>在相邻的内存中存储数据类型T

QVertor<T>既能够用下标访问,也能够使用迭代器访问

 

2.QList<T>

QList<T>能够使用下标访问

QList::append()

QList::prepend()

QList::insert()

 

#include <QList>

int main(int argc, char* argv)
{
    QList<QString> list;
    {
        QString str("This is a test string");
        list << str;
    }
         
}

 

3.QLinkedList<T>

 QLinkedList<T>是一个链式列表,它以非连续的内存块保存数据

QLinkedList<T>没法用下标访问,只能使用迭代器访问

 

4.QStack

 

5.QQueue

 

六.关联容器类

Qt的关联容器类QMap QMultiMap QHash  QMultiHash  QSet

 

1.QMap

QMap<QString, QString> map;
map.insert("beijing", "111");
map.insert("shanghai", "021");
map.insert("nanjing", "025");

QMapIterator<QString, QString> i(map);
for (;i.hasNext();)
    qDebug() << " " << i.key() << " " << i.next().value();
QMutableMapIterator<QString, QString> mi(map);
if (mi.findNext("111"))
    mi.setValue("010");
QMapIterator<QString, QString> modi(map);
qDebug() << " "; for (modi = map.constBegin(); modi != map.constEnd(); ++modi) qDebug() << " " << modi.key() << " " <<modi.next().value();

 

 

2.QSet

3.QHash

4.QMultiHash

5.QMultiMap

6.QVariant

 

QVariant类可以保存不少QT类型的值,包括QColor QBrush QFont QPen QRect QSize等

相关文章
相关标签/搜索