问题标签 [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++ - 如何清理复杂的 QList?
我在 QAbstractTableModel 的派生中使用了一个相当复杂的 QList 来存储数据:
我想知道 QList 和 QHashes 是否会处理交易,或者我是否应该这样做。在这种情况下,文档的信息量不是很大。
c++ - QList 和 shared_ptr
你怎么看?这是正确的还是存在内存泄漏?
来源:
输出:
c++ - 保存 QList到一个文件?
我有一个 QLineEdit* 的 QList
示例将包含 100 个行编辑项。
当我尝试保存或加载到文件时,它无法QList
正确保存或加载(如果有的话)。我得到的数据数量远低于预期。
我在此处QList<T>
的资源页面上看到<< & >> 有正确的运算符,但是我似乎无法让它们使用以下方法保存到文件中QDataStream
我还尝试将 LineEdits 中的所有“text()”值复制到单独的字符串列表中,但我仍然无法将它们保存到文件中。任何帮助,将不胜感激。
编辑:看起来这样做了。这就是我阅读它们的方式,有没有更简单的方法,或者我已经涵盖了它?
c++ - 从具有非虚拟析构函数的容器继承
我正在尝试使用前向声明和 d 指针来消除一些包含依赖项。一切都运行良好,除了我在许多地方使用 XList typedef 来提高可读性(例如:)typedef QList<X> XList
。
typedef 前向声明问题的解决方法是使用继承:class XList : public QList<X>{};
. QList 有一个非虚拟析构函数。考虑到 Qt 自己的 QStringList 继承QList<QString>
并且我没有在堆上分配 XLists 的事实,您认为这种解决方法有什么问题吗?我应该明确禁止 XList 类的堆分配吗?
c++ - 指向 QList 的指针 - at() 与 [] 运算符
我在理解一些 QList 行为时遇到问题。
我得到编译错误无法在标记行的赋值中将“QList”转换为“double”。它在我使用时有效ABC = myList.at(i)
,但 QT 参考似乎是这样说的,at()
而且[] operator
是一回事。有人知道有什么区别吗?
谢谢
qt - QList 中的动态内存
我对QT没有太多经验,今天就出现了这个问题。
在我检查内存使用情况的第一个循环之后,它会随着新元素的添加而上升,memList
但是在第二个循环中删除它们之后,内存使用情况保持在同一水平。我认为这QList
是动态的,当元素被删除时它会释放内存。所以要么我遗漏了一些东西(很可能),要么它不是动态结构。你有什么想法如何让它发挥作用吗?
问候
qt - QList 内存释放
我在使用 QList 后尝试释放内存,但它似乎无法正常工作。这是我的代码:
内存使用情况:
- CP1:460k
- CP2:19996k
- CP3:19996k
- CP4:16088k
myList
因此,尽管删除了元素并删除了大部分内存,但看起来仍在使用中。我相信有办法处理它,但我找不到它。
提前感谢您的帮助。
帕维尔
c++ - 元素已从 QList 中删除,但现有对象的静态计数器不会减少
我对从 QList 中删除元素有疑问。
“我的班级.h”:
“myclass.cpp”:
“主.cpp”:
执行后我得到:
- 之前的 NList 大小:4
- 移除前的节点数:5
- 之后的 NList 大小:0
- 移除后节点数:5
困扰我的是 node2D 对象的数量仍然是 5 而不是 1。
当然也可以这样管理:
但是不应该在 Nlist->clear() 时自动删除 node2D 对象吗?
还是只有在存在父子关系时才会发生?
提前致谢,
帕维尔
qt - 保存 QList到 QSettings
我想将 a 保存QList<int>
到我的 QSettings 而不循环通过它。
我知道我可以使用 writeArray() 和循环来保存所有项目或将 QList 写入 QByteArray 并保存它,但是在我的 INI 文件中它不是人类可读的。
目前我正在使用以下内容将我的转换QList<int>
为QList<QVariant>
:
并将其保存QList<Variant>
到我的设置中,我使用以下代码:
如我所见,QList 已正确保存到我的 INI 文件中(我的整数的逗号分隔列表)
但该函数在退出时崩溃。
我已经尝试使用指向我的 QSettings 对象的指针,但是它在删除指针时崩溃..
c++ - 附加到 QList 的 QList
我试图在运行时将项目附加到 QList,但我正在运行一条错误消息。基本上我要做的是制作一个 QList 的 QList 并将一些 customClass 对象添加到每个内部列表中。这是我的代码:
小部件.h:
自定义类.h:
主.cpp:
但是当我尝试编译应用程序时,它会发出这个错误:
我还尝试使用 foreach 插入对象:
错误消失了,但未附加 customClass 对象,我可以通过在 main 中使用调试循环来验证这一点,该循环显示内部 QLists 大小为零。我究竟做错了什么?