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等

相關文章
相關標籤/搜索