Qt:QVector
0、说明
template <typename T> class QVector
QVector是存储同一个类型T数据的模板类,其功能是动态数组,数据在其中的存储是一系列连续的存储空间。
QList<T>, QLinkedList<T>, QVector<T>, and QVarLengthArray<T>提供了相似的接口和函数,它们通常可以交叉使用。
QVector和QVarLengthArray都可以接受C类型数组,而QList则不行,当我们用到C API时这点要特别注意。
1、模块和加载项
| Header: | #include <QVector> |
| qmake: | QT += core |
| Inherited By: |
QPolygon, QPolygonF, QStack, QVulkanInfoVector, and QXmlStreamAttributes |
2、构造
| QVector(InputIterator first, InputIterator last) | 用迭代器[first,last)的内容构造QVector |
| QVector(std::initializer_list<T> args) | 用另一个std::initializer_list<T>中的元素构造QVector |
| QVector(QVector<T> other) | 另一个QVector的副本 |
| QVector(int size, T value) | 构造大小为size,元素都是value的QVector |
| QVector(int size) | 构造大小为size的QVector,值都是default-constructed value |
| QVector() |
5、静态方法
| QVector<T> | fromList(QList<T> list) | 从QList构造QVector |
| QVector<T> | fromStdVector(std::vector<T> vector) | 从std::vector<T>构造QVector |
6、实例方法
返回值类型 |
方法 |
说明 |
|
QVector<T> & bool QVector<T> QVector<T> & QVector<T> & QVector<T> & QVector<T> & QVector<T> & bool T |
operator=(QVector<T> other) operator!=(QVector<T> other) operator+(QVector<T> other) operator+=(QVector<T> other) operator+=(T value) operator<<(T value) operator<<(QVector<T> other) operator=(std::initializer_list<T> args) operator==(QVector<T> other) operator[](int i) |
赋值 两个QVector是否相等 在QVector后加另一个QVector构成新的 在QVector后加另一个QVector构成新的 在QVector后加单个Value构成新的 在QVector后加单个Value构成新的 在QVector后加另一个QVector构成新的 用std::initializer_list<T>中的元素构造 可以用v[i]访问索引i的元素 |
| void |
append(T value) append(QVector<T> value) |
在QVector后加另一个QVector构成新的 在QVector后加单个Value构成新的 |
| T | at(int i) | 访问索引i的元素 |
| QVector::const_iterator |
begin() end() erase(QVector::iterator pos) erase(QVector::iterator begin, QVector::iterator end) insert(QVector::iterator before, int count, T value) insert(QVector::iterator before, T value) cbegin() cend() constEnd() |
迭代器 |
| QVector::const_reverse_iterator |
crend() rbegin() rend() |
逆向迭代器 |
| int | capacity() | 该capacity的最大容量(并非实际) |
| void | clear() | 移除所有元素并释放所有容量 |
|
const T * T * |
data() |
把QVector转化为const T * 和 T *,即数组 |
| T | 第一个元素和最后一个元素 | |
| bool | contains(T value) | 是否包含元素value |
| int |
count(T value) count() |
统计元素value的个数 统计元素数 |
| bool |
empty() |
是否为空 |
| bool | endsWith(T value) | 是否以value结尾 |
| QVector<T> & | fill(T value, int size = -1) | 用value填充剩余空间 |
| T |
first() front() |
第一个元素 |
| int |
indexOf(T value, int from = 0) lastIndexOf(T value, int from = -1) |
第一次出现元素value的位置,顺序和倒序 |
| void |
insert(int i, T value) insert(int i, int count, T value) |
往指定位置插入元素 往指定位置插入多个元素 |
| bool | isEmpty() | 是否为空 |
| T | last() | 最后一个元素 |
| int | length() | 元素个数,等同于size()和count() |
| QVector<T> | mid(int pos, int length = -1) | 中间若干个元素构成的QVector |
| void | move(int from, int to) | 把from处的元素移动到to处 |
| void |
pop_back() push_back(T value) push_front(T value) |
移除最后一个元素 移除第一个元素 在末尾插入元素 在开头插入元素 |
| void | prepend(T value) | 在开头插入元素 |
| void |
remove(int i) remove(int i, int count) |
移除指定位置的元素 移除指定位置指定数量的元素 |
| int | removeAll(T t) | 移除所有元素t |
| void | removeAt(int i) | 等同于remove(int i) |
| void | removeFirst() | 移除第一个元素 |
| void | removeLast() | 移除最后一个元素 |
| bool | removeOne(T t) | 移除第一个元素t |
| void | replace(int i, T value) | 替换索引i处的元素为value |
| void | reserve(int size) | 预留size容量 |
| void | resize(int size) | 重设QVector的大小 |
| void | size() | 元素数 |
| void |
squeeze() |
释放所有多余的控件 |
| bool | startsWith(T value) | 是否以指定元素开始 |
| void | swap(QVector<T> &other) | 互换两个QVector的元素 |
| void | swapItemsAt(int i, int j) | 交换QVector位置i和j处的元素 |
| T |
takeAt(int i) takeLast() |
提取并移除指定位置的元素 |
| QList<T> | toList() | 将QVector转换为List |
| std::vector<T> | toStdVector() | 将QVector转换为StdVector |
| T |
value(int i) value(int i, T defaultValue) |
返回位置i处的元素 如果不存在,可以指定默认返回值 和at()、operator[]功能类似 |
Qt:QVector的更多相关文章
- Qt中QVector与QList的应用
首先來看看QVector 的基本使用方式,建立一個可容納兩個元素的QVector ,並使用索引方式存取元素值:QVector<double> vect(2); vect[0] = 1.0; ...
- Qt:QCustomPlot使用教程(二)——基本绘图
0.说明 本节翻译总结自:Qt Plotting Widget QCustomPlot - Basic Plotting 本节内容是使用QCustomPlot进行基本绘图. 本节教程都使用custom ...
- Qt:禁止qDebug的输出
Qt:禁止qDebug的输出 在工程的.pro文件里加上以下编译批令即可: DEFINES += QT_NO_DEBUG_OUTPUT
- Qt:使用自定义的字体
Qt:使用自定义的字体 1. 下载字体文件 2. 加载字体文件 3. 使用字体 QFontDatabase::addApplicationFont("XENOTRON.TTF" ...
- Qt:QJsonObject
0.说明 QJsonObject在逻辑上就是一个Map或Dict!记住这一点对理解它的方法.说明很有帮助. QJsonObject类封装了JSON Object. JSON Object是一个Key- ...
- Qt:QJsonValue
0.说明 QJsonValue类用于操作JSON中的各种数据. JSON是用于存储结构化数据的格式,JSON中的数据可以是六种类型: 基本类型 存储类型 bool QJsonValue::Bool d ...
- Qt:QJsonArray
0.说明 QJsonArray中存储了一系列的QJsonValue.可以向其中插入.删除QJsonValue. 一个QJsonArray可以与QVariantList互相转换.可以通过size()访问 ...
- Qt:QUrl构造时的qrc前缀
参考(按对我帮助从大到小排列): Qt内的各种路径(让人迷惑) - 鬼谷子com - 博客园 qt webengineview 加载本地资源方式 - beautifulday - 博客园 (17条消息 ...
- Qt:QList、QStringList
QList 0.说明 QList<T> 一个QList是存储相同类型一组数据的列表. QStringList是从QList<String>继承而来,并添加了一些好用的方法,如j ...
随机推荐
- Linux无写权限打zip
opt下tiger.txt没权限得时候可以这样直接用zip打包 zip /tmp/1.zip /opt/tiger.txt
- python列表删除和排序
1.del message[0]---知道位置不知道值 2.message.remove('a')----知道值不知道位置 3.message.sort()--正向永久排序 4.message.sor ...
- Webpack之 webpack-dev-server 中的 contentBase配置及作用
contentBase:主要是指定静态资源的根目录的.
- Serverless Workflow项目
维基百科对工作流的定义是:对工作流程及其各操作步骤之间业务规则的抽象.概括描述.我们认为工作流的主要职责是: 保证结果一致性,提高容错性要求:对错误重试,捕获,执行回滚或补偿逻辑 为长时间运行的流程维 ...
- 「JOI 2014 Final」飞天鼠
「JOI 2014 Final」飞天鼠 显然向上爬是没有必要的,除非会下降到地面以下,才提高到刚好为0. 到达一个点有两种情况:到达高度为0和不为0. 对于高度不为0的情况,显然花费的时间越少高度越高 ...
- JS 高阶函数
笔记整理自:廖雪峰老师的JS教程 目录 概述 Array中的高阶函数 map(返回新的Array) reduce(返回新的Array) filter(返回新的Array) sort(返回同一Array ...
- SpringBoot使用IDEA设置的外部Tomcat启动
前言 使用springboot内嵌的tomcat启动是没问题,但是工程是要放到服务器上的tomcat的,所以springboot内嵌的能够启动,但不代表服务器的tomcat能启动起来,我就遇到了这个问 ...
- Mysql数据库优化技术之配置篇、索引篇 ( 必看 必看 转)
转自:Mysql数据库优化技术之配置篇.索引篇 ( 必看 必看 ) (一)减少数据库访问对于可以静态化的页面,尽可能静态化对一个动态页面中可以静态的局部,采用静态化部分数据可以生成XML,或者文本文件 ...
- Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project gulimall-common: There are test failures.
对Maven打包时碰见的问题: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (d ...
- day3 -- 集合、文件操作、函数
1.集合:集合无序,不重复,可以用set(列表) 方法将列表转换为集合,实现去重 对比列表:集合是{}包围,列表是[]包围 对比字典:集合是没有key的,字典是有key的 set_1 = {1, 2, ...