首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

QList的用法,该如何解决

2012-12-18 
QList的用法在MainWindow的头文件中定义QListQWidget* list1QListQWidget* list2之后运行直接就引用

QList的用法
在MainWindow的头文件中定义
    QList<QWidget*> list1;
    QList<QWidget*> list2;
之后运行直接就引用内存不能为read了。

是不是应该初始化什么的,对C++不熟。
[最优解释]
QList就假设是一个数组,储存数据用的,里面数据要添加进去,不添加数据list是空的。
[其他解释]
list初始化 如果你没往里放数据 是会自动调用Qlist的构造函数的
也就是list1和list2的里面都为空
你肯定取不到数据了
这些其实跟qt没关系 LZ应该补补C++的知识
[其他解释]
可以用append方法向list中添加内容:
    QList<QWidget*> list;
    qDebug( ) << list.length();
    list.append(new QPushButton);
    qDebug() << list.at(0);
    qDebug( ) << list.length();

[其他解释]
刚测试过,头文件里添加两行声明,绝对不会出错。
随便找个Qt自带的例子,编译一下看看,能不能通过编译,怀疑是Qt配置问题。
[其他解释]
空的你怎么用阿?你创建这个list干啥用?
[其他解释]

引用:
空的你怎么用阿?你创建这个list干啥用?


还没用呢,就加了这两句代码。我要根据list1是一组类似QMovie的东西,我要根据这个创建一组播放的控件,也就是list2.
[其他解释]
引用:
QList就假设是一个数组,储存数据用的,里面数据要添加进去,不添加数据list是空的。


我知道要添加,可是该怎么添加呢?我什么都没做就报错了。
[其他解释]
引用:
list初始化 如果你没往里放数据 是会自动调用Qlist的构造函数的
也就是list1和list2的里面都为空
你肯定取不到数据了
这些其实跟qt没关系 LZ应该补补C++的知识


谢谢,我之前是做.NET的,没做过C++,被临时拉过来充数的。我没取数据,我是要往里面加数据。可是什么都没写就出错了。我想知道该怎么初始化?用new吗?
[其他解释]
引用:
可以用append方法向list中添加内容:
    QList<QWidget*> list;
    qDebug( ) << list.length();
    list.append(new QPushButton);
    qDebug() << list.at(0);
    qDebug( ) << list.length();


谢谢,还没到这一步就出错了。我就新建了一个工程,在MainWindow的头文件里加了那两句,编译运行就出错了。
[其他解释]
如果只加一句就没问题,加两句就不行了。这是为什么?我觉得应该还是C++的问题,是不是引用了同一个地址?
[其他解释]
引用:
刚测试过,头文件里添加两行声明,绝对不会出错。
随便找个Qt自带的例子,编译一下看看,能不能通过编译,怀疑是Qt配置问题。


好吧,现在确实是没问题了。但是这个代码昨天跑确实不行,现在就好了,我什么都没改,撞邪了。
[其他解释]
引用:
引用:刚测试过,头文件里添加两行声明,绝对不会出错。
随便找个Qt自带的例子,编译一下看看,能不能通过编译,怀疑是Qt配置问题。

好吧,现在确实是没问题了。但是这个代码昨天跑确实不行,现在就好了,我什么都没改,撞邪了。

这个是正常现象,经常的出现,代码正常,但是运行出错(内存错误),就clear工程再编译就好了,还不行就手动删除编译产生的文件,再编译。
[其他解释]
引用:
这个是正常现象,经常的出现,代码正常,但是运行出错(内存错误),就clear工程再编译就好了,还不行就手动删除编译产生的文件,再编译。


的确如此,有时候应该是一些目标文件没有更新。如果觉得代码没有问题,经常需要清除并重新构建试试。

热点排行