[QT编程系列-22]:基本框架 - QT常见数据结构:QString、QList、QVector、QMap、QHash、QSet、QPair快览
发布人:shili8
发布时间:2025-01-13 13:29
阅读次数:0
**QT编程系列-22:基本框架 - QT常见数据结构**
在QT编程中,数据结构是非常重要的组成部分。QT提供了多种常见的数据结构,如QString、QList、QVector、QMap、QHash、QSet和QPair等。在本文中,我们将对这些数据结构进行概览,并提供一些示例代码。
###1. QStringQString是QT中的一个字符串类,用于存储和操作字符串。它支持多种方法,如连接、插入、删除等。
cpp#include <QString> #include <iostream> int main() { // 创建一个QString对象 QString str = "Hello, World!"; // 连接两个字符串 QString str2 = str + ", QT"; std::cout << str2.toStdString() << std::endl; // 插入一个字符 str.insert(7, ' '); std::cout << str.toStdString() << std::endl; return0; }
###2. QListQList是QT中的一个列表类,用于存储和操作列表。它支持多种方法,如添加、删除等。
cpp#include <QList> #include <iostream> int main() { // 创建一个QList对象 QList<int> list; // 添加元素 list.append(1); list.append(2); list.append(3); std::cout << "列表元素:"; for (int i =0; i < list.size(); ++i) { std::cout << list.at(i) << " "; } std::cout << std::endl; // 删除元素 list.removeAt(1); std::cout << "删除后列表元素:"; for (int i =0; i < list.size(); ++i) { std::cout << list.at(i) << " "; } std::cout << std::endl; return0; }
###3. QVectorQVector是QT中的一个向量类,用于存储和操作向量。它支持多种方法,如添加、删除等。
cpp#include <QVector> #include <iostream> int main() { // 创建一个QVector对象 QVector<int> vector; // 添加元素 vector.append(1); vector.append(2); vector.append(3); std::cout << "向量元素:"; for (int i =0; i < vector.size(); ++i) { std::cout << vector.at(i) << " "; } std::cout << std::endl; // 删除元素 vector.removeAt(1); std::cout << "删除后向量元素:"; for (int i =0; i < vector.size(); ++i) { std::cout << vector.at(i) << " "; } std::cout << std::endl; return0; }
###4. QMapQMap是QT中的一个映射类,用于存储和操作映射。它支持多种方法,如添加、删除等。
cpp#include <QMap> #include <iostream> int main() { // 创建一个QMap对象 QMap<int, QString> map; // 添加元素 map.insert(1, "一"); map.insert(2, "二"); map.insert(3, "三"); std::cout << "映射元素:"; for (auto it = map.begin(); it != map.end(); ++it) { std::cout << it.key() << ": " << it.value().toStdString() << " "; } std::cout << std::endl; // 删除元素 map.remove(2); std::cout << "删除后映射元素:"; for (auto it = map.begin(); it != map.end(); ++it) { std::cout << it.key() << ": " << it.value().toStdString() << " "; } std::cout << std::endl; return0; }
###5. QHashQHash是QT中的一个散列类,用于存储和操作散列。它支持多种方法,如添加、删除等。
cpp#include <QHash> #include <iostream> int main() { // 创建一个QHash对象 QHash<int, QString> hash; // 添加元素 hash.insert(1, "一"); hash.insert(2, "二"); hash.insert(3, "三"); std::cout << "散列元素:"; for (auto it = hash.begin(); it != hash.end(); ++it) { std::cout << it.key() << ": " << it.value().toStdString() << " "; } std::cout << std::endl; // 删除元素 hash.remove(2); std::cout << "删除后散列元素:"; for (auto it = hash.begin(); it != hash.end(); ++it) { std::cout << it.key() << ": " << it.value().toStdString() << " "; } std::cout << std::endl; return0; }
###6. QSetQSet是QT中的一个集合类,用于存储和操作集合。它支持多种方法,如添加、删除等。
cpp#include <QSet> #include <iostream> int main() { // 创建一个QSet对象 QSet<int> set; // 添加元素 set.insert(1); set.insert(2); set.insert(3); std::cout << "集合元素:"; for (auto it = set.begin(); it != set.end(); ++it) { std::cout << *it << " "; } std::cout << std::endl; // 删除元素 set.remove(2); std::cout << "删除后集合元素:"; for (auto it = set.begin(); it != set.end(); ++it) { std::cout << *it << " "; } std::cout << std::endl; return0; }
###7. QPairQPair是QT中的一个对类,用于存储和操作对。它支持多种方法,如添加、删除等。
cpp#include <QPair> #include <iostream> int main() { // 创建一个QPair对象 QPair<int, QString> pair; // 添加元素 pair.first =1; pair.second = "一"; std::cout << "对元素:" << pair.first << ": " << pair.second.toStdString() << std::endl; return0; }
以上就是QT中的常见数据结构的概览。这些数据结构在QT编程中非常重要,支持多种方法,如添加、删除等。