qt中Qlist指针访问Qlist中的内容

刚学qt不久,c++基础也有点差,今天用到 Qlist *list;
我要怎么用访问list中的内容呢,如果不是指针可以用 list[i]来访问,指针的话我使用c的方法貌似不可以,求大佬解决

0

2个回答

list->at(i)
这样试试看

1

qt的源代码里看,at相当于[]

template <typename T>
inline const T &QList<T>::at(int i) const
{ 
    Q_ASSERT_X(i >= 0 && i < p.size(), "QList<T>::at", "index out of range");

    return reinterpret_cast<Node *>(p.at(i))->t(); 
}

template <typename T>
inline const T &QList<T>::operator[](int i) const
{ 
    Q_ASSERT_X(i >= 0 && i < p.size(), "QList<T>::operator[]", "index out of range");

    return reinterpret_cast<Node *>(p.at(i))->t(); 
}
1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
QList释放指针内存
QWidget *ww=new QWidget; qDebug()&amp;lt;&amp;lt;&quot;ww--&quot;&amp;lt;&amp;lt;ww; QList&amp;lt;QWidget*&amp;gt;list; list.append(ww); list.append(new QWidget); list.append(new QWidget); list.append(new QWid...
QList 列表指针的 释放
QList 列表指针的 释放 转载自:https://www.cnblogs.com/liujun5020/p/6296277.html 建议这样使用 QList&lt;AbstractLine *&gt; Lines; ... ... qDeleteAll(Lines); //删除对象 Lines.clear(); //清空指针列表 1,使用qDeleteAll...
Qt中的指针列表
下面的这个例子显示了指针列表。就是有一个QList,它的每个元素是个指针。包括分配内存,释放内存等操作。如下所示#ifndef POINTSET_H #define POINTSET_H #include &amp;lt;QList&amp;gt; #include &amp;lt;QPointF&amp;gt; #include &amp;lt;QDebug&amp;gt; //点集 class PointSet { public: ...
QT之QList的错误
   记录一下这次犯的错误~    好气哦,看了一天时间bug。男朋友一下子帮我解决,有个程序员男朋友还挺好~    相关问题描述:                    resourse_label_str_list是个QStringList类型的,存放的是我解析出来的资源重组之后的数据。     具体看:    sysItemList.append(&quot;天伺馈J#综合测控基带D,S频段标准TT&amp;...
清除QList中的数据
先看一下代码 QWidget *ww=new QWidget; qDebug()<<"ww--"<<ww; QListlist; list.append(ww); list.append(new QWidget); list.append(new QWidget); list.append(new QWidget); foreach
QList指针创建可变数量的控件
QList指针创建可变数量的控件 目录 QList指针创建可变数量的控件 目录 QList储存控件和修该测试 QList新建可变数量的控件 qDeleteAll释放Qlist的内存 QList储存控件和修该测试 函数代码 void MainWindow::testQList(){ QLabel * label1=new QLabel(this); ...
Qt5 不重复随机数组/QList内的下标
利用QSet不重复特性来进行随机排序QSet<int> s;//QSet QList<T>list;//伪代码,T表示是类型,可以是int,自定义结构体或者类等等 for(int i=0;i<list.size;++i) s.insert(i);//把list下标放入QSet中 QSet<int>::const_iterator it = s.constBegin(); while (it
Qt中关于QList<T>的基本用法及样例
QList以列表形态存储并管理值,并能进行基于快速索引的访问,也可以进行快速的数据删除操作。 QList使用运算符将项目添加到列表 QList&amp;lt;QString&amp;gt; list; list&amp;lt;&amp;lt;&quot;one&quot;&amp;lt;&amp;lt;&quot;two&quot;&amp;lt;&amp;lt;“three”; //list:[&quot;one&quot;,&quot;two&quot;,&quot;three&quot;] QLis
qlist 对结构体排序
写法一 QList&amp;amp;lt;test&amp;amp;gt; s; test aa; test bb; test cc; aa.num = &amp;quot;14&amp;quot;; bb.num = &amp;quot;2&amp;quot;; cc.num = &amp;quot;3&amp;quot;; s.append(aa); s.append(bb); s.append(cc);
Qt 信号与槽传递QList动态数组
根据我的实验,测试程序见下 - QString的QList动态数组能够通过signal-slot机制进行传递 - 自定义结构的QList动态数组也能通过signal-slot机制进行传递 //&quot;mainwindow.h&quot; #ifndef MAINWINDOW_H #define MAINWINDOW_H #include &amp;lt;QMainWindow&amp;gt; #include&amp;lt;QD...
QList使用方法
QList是一种表示链表的模板类。 ------------------------------------------------------------ 1. QList是一种表示链表的模板类。 QList是Qt的一种泛型容器类。它以链表方式存储一组值,并能对这组数据进行快速索引, 还提供了快速插入和删除等操作。 --------------------------
Qt之QList详解
1、QList是一种表示链表的模板类。 2、QList是Qt的一种泛型容器类。它以链表方式存储一组值,并能对这组数据进行快速索引,还提供了快速插入和删除等操作。 3、QList、QLinkedList和QVector提供的操作极其相似: * 对大多数操作来说,我们用QList就可以了。其API是基于索引(index)的,因此用起来比QLinkedList更方便(QLinkedList...
【Qt编程笔记】采用遍历方式删除QList中全部元素的方法
QList类是Qt提供的链表模板类,在日常工作和学习中经常会用到,虽然QList操作十分便利,但是在用遍历方式删除全部元素时很可能会因为疏忽造成没有将元素全部删除,从而给程序留下隐患。下面小结一下采用遍历方式删除QList中全部元素的方法,避免重走弯路。 下面将比较for循环和foreach循环两种方式下的不同,并给出正确的删除方式。 在比较之前,首先构建一个QList对象,其中包含若干QStri...
Qt中foreach及QList的使用
QList是一个最常用的容器类,用它定义一个对象通常是  QList list; 其中int代表给定的类型,也就是说现在定义了一个有符号整形的容器,让后给里面装值 list 现在就可以使用foreach(int i,list)这样就可以遍历整个容器了 QList int>list; list 2416; foreach(int str,list) qDe
如何在将c++中的Qlist<object*> 注册到qml中并使用
因为经常需要将c++中数据传递到qml中使用,而c++中数据多是以Qlistclass Person : public QObject { Q_OBJECT Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) Q_PROPERTY(int shoeSize READ shoeSize WRIT
Qt 使用qDebug() 打印Qlist 容器数据
当QList容器中的数据用qDebug() 有这样一个 LogLat 类 定义如下 class LogLat { //需要将 friend QDebug& operatorQDebug &debug, const LogLat &obj); public: LogLat(double log=0.0, double lat=0.0)
Qlist赋值问题
QList list; list.append("item1"); list.append("item2"); list.append("item3"); list.append("item4"); for(int i=0; i<list.size(); i+=1) { qDebug()<<""<<list.at(i); }
QT 删除QStringList中的重复项(相同项)
删除QStringList中的重复项(相同项): 1、删除相同项函数 void removeListSame(QStringList *list) { for (int i = 0; i list->count(); i++) { for (int k = i + 1; k list->count(); k++) {
QList的at与[]10亿次运行速度比较
看看谁的速度快?
验证QList线程安全性的小程序
申明:不是原创,不是原创,只是转载。 这是一个来自网上的例子 https://blog.csdn.net/conquerwave/article/details/50962548 (conquerwave的专栏) 用于测试QList的线程安全性,因原作者只给出源代码,没有给出测试结果,这里生成一个QT工程,打开即可编译,内部有ReadME.txt,简要说明
QList与QVariant互相转换
//QList转QVariant QList&amp;lt;int&amp;gt; list1; list1 &amp;lt;&amp;lt; 11 &amp;lt;&amp;lt; 22 &amp;lt;&amp;lt; 33; QVariant v = QVariant::fromValue&amp;lt;QList&amp;lt;int&amp;gt; &amp;gt;(list1); //QVariant转QList QList&amp;lt;int&amp;gt; list2 = v.value
Qt5.10中一个关于QList的怪异问题
先看一个例子代码,首先是项目文件qhash.pro,只有一行。SOURCES += main.cpp然后是程序文件main.cpp,#include &amp;lt;QList&amp;gt; #include &amp;lt;QPointF&amp;gt; class Q_DECL_EXPORT PointList : public QList&amp;lt;QPointF&amp;gt; { }; int main(int argc, ...
Qt学习——QList + 结构体 注意事项
注意 Qlist 使用结构体时,不能使用foreach进行遍历,会报错“==”操作符重载有问题。但是可以使用for进行遍历
Qt容器类(QList,QMap)遍历器的使用
Qt容器类比较典型的就是QList,QMap,遍历器的使用分为STL风格和Java风格。
Qt中 对QList的排序
Qt中的qSort可以对Qlist 进行排序 1、 数组 QList list; list qSort(list.begin(), list.end()); //排序结果:[10,12,13,16] 2、多维的数组 头文件: class PosSortResult { public: int agvpos; int posid; } //多条任务
QT中C++暴露QList<qint32>/QList<quint32>类型对象在qml中使用异常
import QtQuick 2.6 // C++暴露的QList&lt;qint32&gt;类型,QList&lt;quint32&gt;类型qml无法识别 // 问题:直接绑定到listview不生效 // 方法1:QStringList可直接绑定 // 方法2:Qt.binding(function(){ return listModel }) property var listMode...
自学QT之QListIterator迭代器的示例
#include #include #include int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QList mylist; for(int i=0;i<10;i++) { mylist.append(i); } QListIterato
Qt的析构机制
我的第一个窗体close(),另一个窗体展开open,然后我的第一个窗体里面的成员变量并没有析构,等所有的窗体关闭以后整体析构 跟汽车一样,一个零件不用了,另外一个零件启动,不代表那个零件所有的东西没有功能了,而是整辆汽车关闭以后才会无用。
Qlist的用法
QList是一种表示链表的模板类。 QList是Qt的一种泛型容器类。它以链表方式存储一组值,并能对这组数据进行快速索引,还提供了快速插入和删除等操作。 QList、QLinkedList和QVector提供的操作极其相似: *对大多数操作来说,我们用QList就可以了。其API是基于索引(index)的,因此用起来比QLinkedList更方便(QLinkedList的API是基于迭代器的
QT 利用两种方式实现两个list中元素的互相移动
QT 利用两种方式实现两个list中元素的互相移动 分别利用点击鼠标  和 按住鼠标直接拖动的方式来实现   1 创建界面文件   左右两个为list   中间两个为Qtoolbutton 2  初始化两个list ui-&amp;gt;setupUi(this); ui-&amp;gt;listA-&amp;gt;addItem(&quot;A&quot;); ui-&amp;gt;listA-&amp;gt;ad...
QList添加自定义结构体
QList中使用自定义结构体后,构建错误信息如下: 看内容是说需要重载==,遂进行重载,如下: 重新构建,不再提示错误。
QStringList或者是QList元素随机排序
QT中QStringList或者是QList不带有shuffle方法,如果要实现随机排序功能,可以利用std::random_shuffle 函数来实现 QStringList继承于QList&amp;lt;QString&amp;gt;        因此处理QStringList与处理QList方式一致 测试代码 #include &amp;lt;QCoreApplication&amp;gt; #includ...
QT(1)Java类型迭代器实现QList只读遍历
java风格迭代器: 例如: QList&amp;lt;T&amp;gt;容器: 只读迭代器类:QListIterator&amp;lt;T&amp;gt; 读写迭代器:QMutableListIterator&amp;lt;T&amp;gt; QLinkedList&amp;lt;T&amp;gt;容器: 只读迭代器:QLinkedList&amp;lt;T&amp;gt; 读写迭代器:QMutableLinkedList&amp;lt;T&amp;gt; QVector&amp;lt;T...
Qlist排序【依据其中每一项的字符串大小】
在单位花了一下午的时间,弄不出来QList的代码排序,回家结果小demo 2munites搞定,日了狗了。还是用的冒泡好渣! #include #include #include int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QListQString> str;
Qt中删除重复的点坐
网上写的很多办法都是用unique函数和erase函数处理: vector v; v.append(0); v.append(1); v.append(2); for (int i = 0; i < 5; i++) { v.push_back(i); } sort(v.begin(),v.end()); v.
QStringList 去除重复项算法赏析
测试用例: QStringList list; list&amp;lt;&amp;lt;&quot;2222&quot;&amp;lt;&amp;lt;&quot;xxx&quot;&amp;lt;&amp;lt;&quot;1111&quot;&amp;lt;&amp;lt;&quot;2222&quot;&amp;lt;&amp;lt;&quot;xxxx&quot;&amp;lt;&amp;lt;&quot;1111&quot;; int n=list.removeDuplica
关于Qt QListWidget 清空所有项出现的问题
有时候我们QListWidet的时候刚开始加载了很多个item,但是可能到后面要清楚所有的item,重新加载。例如:我在项目中实现了多国语言,在切换了语言之后,需要将界面重新加载的,这就需要重新加载QListWidget的每一项了。 但是在清楚QListWidget的时候,无论调用什么方式总是会出现段错误。 //方法一: ui-&amp;amp;gt;listWidget-&amp;amp;gt;clear(); // ...
Qt学习笔记1 对容器类QList QLinkedList QVector的遍历
对容器类QList QLinkedList QVector的遍历 目录 对容器类QList QLinkedList QVector的遍历 目录 0.QList QLinkedList QVector容器的时间复杂度比较 1.Java风格的迭代器 2.STL风格的迭代器 0.QList QLinkedList QVector容器的时间复杂度比较 1.Jav...
对从c++中向qml中导入list<qobject*>的操作的深入学习
在qml中对数组Array可以进行push [index] .length clear;等操作 而从c++中向qml中导入list//这里是实例化一个QQmlListProperty,分别使用这四个函数指针 QQmlListProperty<Person> BirthdayParty::guests() { return QQmlListProperty<Person>(this, thi
QT:07---数据结构(QList、QLinkedList、QVector、 QMap、QHash)、常用算法
迭代器 QT支持两种类型的迭代器 只读迭代器:const_iterator 读写迭代器:iterator 只读迭代器比读写迭代器操作速度快很多 一、QList 概念:是一个提供列表的模板类 //函数: insert(); //指定索引处插入值 replace(); //指定索引处替换值 append(); //尾追 prepend(); //头追 at(): //得到索引索...