问题标签 [qlist]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Qt 未记录的方法 setShareable
我偶然发现了一种似乎存在于所有数据对象中的方法,例如QList
, QQueue
, QHash
...
我什至调查到目前为止我可以看到它的源代码,即
在qlist.h中(第 117 行)。
但它对QList
, QQueue
, QHash
... 有什么影响?它是否与线程相关(这听起来很合理)?
感谢您的任何回答,请仅在您有实际知识的情况下回答。
qt - 当 QList 变得太大时应用程序崩溃
我制作了一个应用程序,它必须在内存中存储大量数据以提高计算性能。
它是列表和对象的层次结构,其中顶部对象是. 加载数据时,会创建很多实例并将其添加到列表中。内存消耗增加,当涉及到 ~1.9Gb 时,程序崩溃。我的电脑 (Vista) 有 4Gb RAM,我已经在其他 RAM (XP) 较少的电脑上进行了测试,但它同时崩溃了。我不能使用超过 1.9Gb 的 RAM 吗?QList<myObject*>
new myObject*
当加载较小的文件并且根据“Windows 任务管理器”的内存使用量为(例如)1.2Gb 时,我可以使用这些数据。但是,如果我想加载另一个文件,即使在调用delete
所有对象并清除列表之后,也会从 1.2Gb 开始增长。为什么?
我尝试切换到QVector
并调用squeeze()
,但内存保持不变。我在这里阅读了关于 QLists 中动态内存分配的其他线程,但是在加载新文件之前真的没有办法重置内存吗?特别是因为它在 1.9Gb 之后崩溃;依次加载 3 个小文件,我就在那里。
非常感谢您的任何建议。
c++ - 将指针附加到 QList
我需要将类的指针(从 QObject 继承)插入到 QList 中。我知道可以使用以下语法:
。H
.cpp
然后释放内存:
这应该是有效的并且不会导致任何内存泄漏(据我所知)。但是,我需要先初始化对象,然后再将它们添加到集合中。下面这段代码会不会导致一些错误,比如内存泄漏或悬空指针(我将使用与上面相同的方式删除指针)?
谢谢。
c++ - 我可以在 Qt 中映射列表吗?
这已经相当简洁了,但是如果我可以将列表映射为 Ruby,那就太棒了。假设我有一个QStringList
myStringList,其中包含“12.3”、“-213.0”、“9.24”等内容。我想简单地映射整个事物toDouble
而无需迭代。Qt有这个方法吗?
c++ - C++ QList继承自定义方法问题
我正在通过继承创建一个名为 AccountList 的 Account* 类型的自定义 QList。
我的 AccountList 接口声明如下:
我在实现 AccountList 时遇到问题,例如 findAccount 方法。
希望上述方法能让您了解我要完成的工作。看起来很简单而且很直接,但我无法让它工作。Qt Creator 编译器在编译时给了我各种奇怪的错误。
任何帮助,将不胜感激。
c++ - 常量类成员、赋值运算符和 QList
如果我是正确的,请确认并告诉我是否有更好的解决方案:
我知道具有常量成员的对象int const width;
不能由编译器隐式创建的合成赋值运算符处理。但是 QList (我想也是 std::list )需要一个工作赋值运算符。因此,当我想使用具有常量成员和 QList 的对象时,我有三种可能性:
- 不要使用常量成员。(不是解决方案)
- 实现我自己的赋值运算符。
- 使用其他不需要赋值运算符的容器
那是对的吗?还有其他优雅的解决方案吗?
我也想知道我是否可以:
- (4) 强制编译器创建一个处理常量成员的赋值运算符!(我不明白为什么这是一个这么大的问题。为什么操作员不够聪明,无法在内部使用初始化列表?或者我错过了什么?)
- (5) 告诉QList,我永远不会在列表中使用赋值操作。
编辑:我自己从不分配此类的对象。它们仅由复制构造函数或重载构造函数创建。所以赋值运算符只有容器需要,我自己不需要。
EDIT2:这是我创建的赋值运算符。我不确定它是否正确。Cell 有一个两个参数的构造函数。这些参数使用初始化列表设置两个常量成员。但该对象还包含其他变量(非 const)成员。
EDIT3:我发现这个线程几乎有相同的问题:C++:STL 与 const 类成员的麻烦所有答案结合在一起回答了我的问题。
qt - QT:将 QTextStream 存储在 QList 中
我正在尝试同时打开多个文件(随机文件数)并将它们的文本流存储在 qlist 中,以便在其他代码中简单使用:
所以我有一个错误:
我应该解决什么问题?我知道这是一个非常简单的问题,但我找不到谷歌的正确查询:(
qt - 添加到 QList 的对象丢失其所有成员数据
我正在制作一个名为 ControlIcon 的自定义类的 QList。我创建了 ControlIcon,并使用成员变量加载它们,然后将它们添加到列表中。这是附加代码:
this->cueList.append(firstOne);
这是 QList 的声明:
QList< ControlIcon *> cueList;
如果我在追加后立即中断,我可以看到刚刚添加的 ControlIcon 充满了成员,并且看起来很好。我查看列表,并且已附加的 ControlIcon(它确实附加了一个 ControlIcon)根本没有任何成员。我之前制作了一个自定义对象的 QList,所以我很困惑。有人可以帮忙吗?
c++ - 使用 QT 库的 c++ 中这行代码的等效项是什么?
鉴于声明
下面给出的函数中的代码行是什么意思。