问题标签 [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.

0 投票
2 回答
3683 浏览

c++ - 如何清理复杂的 QList?

我在 QAbstractTableModel 的派生中使用了一个相当复杂的 QList 来存储数据:

我想知道 QList 和 QHashes 是否会处理交易,或者我是否应该这样做。在这种情况下,文档的信息量不是很大。

0 投票
4 回答
3969 浏览

c++ - QList 和 shared_ptr

你怎么看?这是正确的还是存在内存泄漏?

来源:

输出:

0 投票
2 回答
4409 浏览

c++ - 保存 QList到一个文件?

我有一个 QLineEdit* 的 QList

示例将包含 100 个行编辑项。

当我尝试保存或加载到文件时,它无法QList正确保存或加载(如果有的话)。我得到的数据数量远低于预期。

我在此处QList<T>的资源页面上看到<< & >> 有正确的运算符,但是我似乎无法让它们使用以下方法保存到文件中QDataStream

我还尝试将 LineEdits 中的所有“text()”值复制到单独的字符串列表中,但我仍然无法将它们保存到文件中。任何帮助,将不胜感激。

编辑:看起来这样做了。这就是我阅读它们的方式,有没有更简单的方法,或者我已经涵盖了它?

0 投票
2 回答
888 浏览

c++ - 从具有非虚拟析构函数的容器继承

我正在尝试使用前向声明和 d 指针来消除一些包含依赖项。一切都运行良好,除了我在许多地方使用 XList typedef 来提高可读性(例如:)typedef QList<X> XList

typedef 前向声明问题的解决方法是使用继承:class XList : public QList<X>{};. QList 有一个非虚拟析构函数。考虑到 Qt 自己的 QStringList 继承QList<QString>并且我没有在堆上分配 XLists 的事实,您认为这种解决方法有什么问题吗?我应该明确禁止 XList 类的堆分配吗?

0 投票
3 回答
10813 浏览

c++ - 指向 QList 的指针 - at() 与 [] 运算符

我在理解一些 QList 行为时遇到问题。

我得到编译错误无法在标记行的赋值中将“QList”转换为“double”。它在我使用时有效ABC = myList.at(i),但 QT 参考似乎是这样说的,at()而且[] operator是一回事。有人知道有什么区别吗?

谢谢

0 投票
5 回答
4978 浏览

qt - QList 中的动态内存

我对QT没有太多经验,今天就出现了这个问题。

在我检查内存使用情况的第一个循环之后,它会随着新元素的添加而上升,memList但是在第二个循环中删除它们之后,内存使用情况保持在同一水平。我认为这QList是动态的,当元素被删除时它会释放内存。所以要么我遗漏了一些东西(很可能),要么它不是动态结构。你有什么想法如何让它发挥作用吗?

问候

0 投票
2 回答
6325 浏览

qt - QList 内存释放

我在使用 QList 后尝试释放内存,但它似乎无法正常工作。这是我的代码:

内存使用情况:

  • CP1:460k
  • CP2:19996k
  • CP3:19996k
  • CP4:16088k

myList因此,尽管删除了元素并删除了大部分内存,但看起来仍在使用中。我相信有办法处理它,但我找不到它。

提前感谢您的帮助。

帕维尔

0 投票
3 回答
634 浏览

c++ - 元素已从 QList 中删除,但现有对象的静态计数器不会减少

我对从 QList 中删除元素有疑问。

“我的班级.h”:

“myclass.cpp”:

“主.cpp”:

执行后我得到:

  • 之前的 NList 大小:4
  • 移除前的节点数:5
  • 之后的 NList 大小:0
  • 移除后节点数:5

困扰我的是 node2D 对象的数量仍然是 5 而不是 1。

当然也可以这样管理:

但是不应该在 Nlist->clear() 时自动删除 node2D 对象吗?

还是只有在存在父子关系时才会发生?

提前致谢,

帕维尔

0 投票
3 回答
20122 浏览

qt - 保存 QList到 QSettings

我想将 a 保存QList<int>到我的 QSettings 而不循环通过它。
我知道我可以使用 writeArray() 和循环来保存所有项目或将 QList 写入 QByteArray 并保存它,但是在我的 INI 文件中它不是人类可读的。

目前我正在使用以下内容将我的转换QList<int>QList<QVariant>

并将其保存QList<Variant>到我的设置中,我使用以下代码:

如我所见,QList 已正确保存到我的 INI 文件中(我的整数的逗号分隔列表)
但该函数在退出时崩溃。
我已经尝试使用指向我的 QSettings 对象的指针,但是它在删除指针时崩溃..

0 投票
4 回答
16289 浏览

c++ - 附加到 QList 的 QList

我试图在运行时将项目附加到 QList,但我正在运行一条错误消息。基本上我要做的是制作一个 QList 的 QList 并将一些 customClass 对象添加到每个内部列表中。这是我的代码:

小部件.h:

自定义类.h:

主.cpp:

但是当我尝试编译应用程序时,它会发出这个错误:

我还尝试使用 foreach 插入对象:

错误消失了,但未附加 customClass 对象,我可以通过在 main 中使用调试循环来验证这一点,该循环显示内部 QLists 大小为零。我究竟做错了什么?