QList的用法

ParanoidKing 2012-11-19 02:52:03
在MainWindow的头文件中定义
QList<QWidget*> list1;
QList<QWidget*> list2;
之后运行直接就引用内存不能为read了。

是不是应该初始化什么的,对C++不熟。
...全文
2611 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowfield 2012-11-20
  • 打赏
  • 举报
回复
可以用append方法向list中添加内容: QList<QWidget*> list; qDebug( ) << list.length(); list.append(new QPushButton); qDebug() << list.at(0); qDebug( ) << list.length();
ParanoidKing 2012-11-20
  • 打赏
  • 举报
回复
引用 4 楼 openXMPP 的回复:
list初始化 如果你没往里放数据 是会自动调用Qlist的构造函数的 也就是list1和list2的里面都为空 你肯定取不到数据了 这些其实跟qt没关系 LZ应该补补C++的知识
谢谢,我之前是做.NET的,没做过C++,被临时拉过来充数的。我没取数据,我是要往里面加数据。可是什么都没写就出错了。我想知道该怎么初始化?用new吗?
ParanoidKing 2012-11-20
  • 打赏
  • 举报
回复
引用 3 楼 jdwx1 的回复:
QList就假设是一个数组,储存数据用的,里面数据要添加进去,不添加数据list是空的。
我知道要添加,可是该怎么添加呢?我什么都没做就报错了。
snowfield 2012-11-20
  • 打赏
  • 举报
回复
引用 12 楼 jdwx1 的回复:
这个是正常现象,经常的出现,代码正常,但是运行出错(内存错误),就clear工程再编译就好了,还不行就手动删除编译产生的文件,再编译。
的确如此,有时候应该是一些目标文件没有更新。如果觉得代码没有问题,经常需要清除并重新构建试试。
jdwx 2012-11-20
  • 打赏
  • 举报
回复
引用 11 楼 ParanoidKing 的回复:
引用 10 楼 jdwx1 的回复:刚测试过,头文件里添加两行声明,绝对不会出错。 随便找个Qt自带的例子,编译一下看看,能不能通过编译,怀疑是Qt配置问题。 好吧,现在确实是没问题了。但是这个代码昨天跑确实不行,现在就好了,我什么都没改,撞邪了。
这个是正常现象,经常的出现,代码正常,但是运行出错(内存错误),就clear工程再编译就好了,还不行就手动删除编译产生的文件,再编译。
ParanoidKing 2012-11-20
  • 打赏
  • 举报
回复
引用 10 楼 jdwx1 的回复:
刚测试过,头文件里添加两行声明,绝对不会出错。 随便找个Qt自带的例子,编译一下看看,能不能通过编译,怀疑是Qt配置问题。
好吧,现在确实是没问题了。但是这个代码昨天跑确实不行,现在就好了,我什么都没改,撞邪了。
jdwx 2012-11-20
  • 打赏
  • 举报
回复
刚测试过,头文件里添加两行声明,绝对不会出错。 随便找个Qt自带的例子,编译一下看看,能不能通过编译,怀疑是Qt配置问题。
ParanoidKing 2012-11-20
  • 打赏
  • 举报
回复
如果只加一句就没问题,加两句就不行了。这是为什么?我觉得应该还是C++的问题,是不是引用了同一个地址?
ParanoidKing 2012-11-20
  • 打赏
  • 举报
回复
引用 7 楼 snowfeild 的回复:
可以用append方法向list中添加内容: QList<QWidget*> list; qDebug( ) << list.length(); list.append(new QPushButton); qDebug() << list.at(0); qDebug( ) << list.length();
谢谢,还没到这一步就出错了。我就新建了一个工程,在MainWindow的头文件里加了那两句,编译运行就出错了。
乔巴好萌 2012-11-19
  • 打赏
  • 举报
回复
list初始化 如果你没往里放数据 是会自动调用Qlist的构造函数的 也就是list1和list2的里面都为空 你肯定取不到数据了 这些其实跟qt没关系 LZ应该补补C++的知识
jdwx 2012-11-19
  • 打赏
  • 举报
回复
QList就假设是一个数组,储存数据用的,里面数据要添加进去,不添加数据list是空的。
ParanoidKing 2012-11-19
  • 打赏
  • 举报
回复
引用 1 楼 zhenwo123 的回复:
空的你怎么用阿?你创建这个list干啥用?
还没用呢,就加了这两句代码。我要根据list1是一组类似QMovie的东西,我要根据这个创建一组播放的控件,也就是list2.
挣扎中前行 2012-11-19
  • 打赏
  • 举报
回复
空的你怎么用阿?你创建这个list干啥用?

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧