Qt数组的使用方法及代码案例

embedded/2024/10/18 13:48:57/

在 Qt 中,数组的使用方法与 C++ 中的数组类似,但 Qt 还提供了一些更高级的数据结构,例如 QList、QVector、QArray 等。这些数据结构在处理动态数组时更为方便和安全。

下面是一些 Qt 中数组的使用方法以及代码示例。

### 1. 使用 C++ 原生数组

```cpp

#include <QCoreApplication>

#include <QDebug>

int main(int argc, char *argv[])

{

    QCoreApplication a(argc, argv);

    // 定义一个原生数组

    int arr[5] = {1, 2, 3, 4, 5};

    // 输出数组内容

    for (int i = 0; i < 5; ++i) {

        qDebug() << arr[i];

    }

    return a.exec();

}

```

### 2. 使用 QList

`QList` 是 Qt 提供的一个动态数组容器,适合存储各种数据类型。

```cpp

#include <QCoreApplication>

#include <QList>

#include <QDebug>

int main(int argc, char *argv[])

{

    QCoreApplication a(argc, argv);

    // 定义一个 QList

    QList<int> list;

    // 添加元素

    list.append(1);

    list.append(2);

    list.append(3);

    // 输出 QList 内容

    for (int i = 0; i < list.size(); ++i) {

        qDebug() << list[i];

    }

    return a.exec();

}

```

### 3. 使用 QVector

`QVector` 是一个动态数组,提供了与 C++ 标准库 `std::vector` 相似的接口。

```cpp

#include <QCoreApplication>

#include <QVector>

#include <QDebug>

int main(int argc, char *argv[])

{

    QCoreApplication a(argc, argv);

    // 定义一个 QVector

    QVector<int> vec;

    // 添加元素

    vec.append(10);

    vec.append(20);

    vec.append(30);

    // 输出 QVector 内容

    for (int value : vec) {

        qDebug() << value;

    }

    return a.exec();

}

```

### 4. 使用 QArray(已废弃)

`QArray` 是 Qt 4 中提供的一个数组类,但在后续版本中已被废弃,建议使用 `QVector` 代替。

### 5. 使用 std::array(C++11及以上)

如果你使用的是 C++11 或更高版本,你也可以使用 `std::array`。

```cpp

#include <QCoreApplication>

#include <array>

#include <QDebug>

int main(int argc, char *argv[])

{

    QCoreApplication a(argc, argv);

    // 定义一个 std::array

    std::array<int, 5> arr = {1, 2, 3, 4, 5};

    // 输出 std::array 内容

    for (const auto& value : arr) {

        qDebug() << value;

    }

    return a.exec();

}

```

### 总结

在 Qt 中,你可以根据需求选择使用原生数组、`QList`、`QVector` 或 `std::array`。`QList` 和 `QVector` 提供了更丰富的接口和功能,适合处理动态数据。


http://www.ppmy.cn/embedded/105477.html

相关文章

完全自由的目录、栏目设计

自由地创建栏目和子栏目文章可以拖到任一栏目下栏目也可以拖到其它栏目下&#xff0c;其包含的栏目和文章也会跟着过去文章可以拖动排序文章和栏目可以拖动混合排序

springboot使用缓存

目录 1. 添加依赖 2. 配置缓存 3. 使用EnableCaching注解开启缓存 4. 使用注解 1. 配置缓存名称 2. 配置缓存的键 3. 移除缓存 5. 运行结果 1. 添加依赖 <!-- springboot缓存--><dependency><groupId>org.springframework.boot</groupId>…

反爬虫策略收录集

前言 反爬虫&#xff0c;是指对扫描器中的网络爬虫环节进行反制&#xff0c;通过一些反制策略来阻碍或干扰爬虫的正常爬行&#xff0c;从而间接地起到防御目的。下面是一些常见的反爬虫策略的收录。 入门版 封IP 由于服务器有防火墙&#xff08;如果防火墙在TCP/UDP层或者它…

【爬虫软件】采集抖音博主的主页发布作品

这是我用python开发的抖音爬虫采集软件&#xff0c;可自动按博主抓取已发布视频。 软件界面截图&#xff1a; 爬取结果截图&#xff1a; 几点重要说明&#xff1a; 软件使用演示视频&#xff1a; https://www.bilibili.com/video/BV1Kb42187qf 完整讲解文章&#xff1a; ht…

Facebook的AI革新:如何利用人工智能提升你的社交体验

人工智能&#xff08;AI&#xff09;正深刻改变着我们与技术的互动方式&#xff0c;特别是在社交网络平台上。作为全球最大的社交媒体平台之一&#xff0c;Facebook在AI技术的应用上走在了前沿。本文将探讨Facebook如何通过AI革新提升用户的社交体验&#xff0c;并提供实用的建…

Python程序交易助你发现均线粘合的股票

炒股自动化&#xff1a;申请官方API接口&#xff0c;散户也可以 python炒股自动化&#xff08;0&#xff09;&#xff0c;申请券商API接口 python炒股自动化&#xff08;1&#xff09;&#xff0c;量化交易接口区别 Python炒股自动化&#xff08;2&#xff09;&#xff1a;获取…

RabbitMQ练习(Remote procedure call (RPC))

1、RabbitMQ教程 《RabbitMQ Tutorials》https://www.rabbitmq.com/tutorials 2、环境准备 参考&#xff1a;《RabbitMQ练习&#xff08;Hello World&#xff09;》。 确保RabbitMQ、Sender、Receiver容器正常安装和启动。 rootk0test1:~# docker run -it --rm --name rab…

基本放大电路

以输入、输出信号的位置为判断依据&#xff1a; 信号由基极输入&#xff0c;集电极输出——共射极放大电路 信号由基极输入&#xff0c;发射极输出——共集极放大电路 信号由发射极输入&#xff0c;集电极输出——共基极放大电路 三种组态的特点及用途&#xff1a;共射极放大电…