c++ - 为什么 QList 不是从 QObject 派生的?

标签 c++ qt collections qobject qlist

我想创建一个 QObservableCollection包装 QList (使用内部 QList 实现并转发所有调用,同时为更改集合的函数发出某种 CollectionsChanged 信号),但我看到 QList不继承自 QObject .

我相信你需要继承自 QObject发出 Qt 信号。所以我需要继承 QObject对于我的 QObeservableCollection。

但是QListQVector并且其他 Qt 集合不继承自 QObject ,所以我想他们一定是某种缺点或制作收藏品的问题。

我看到 QSignalSpy 继承自 QObjectQList<QList<QVariant>>所以也许他们只是没有看到从 QObject 继承的理由?

最佳答案

有一个非常重要的技术原因:moc 无法处理模板,这对于通用容器类型来说几乎是必需的。

关于c++ - 为什么 QList 不是从 QObject 派生的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21281990/

相关文章:

c++ - 具有静态类成员方法的 Q_COREAPP_STARTUP_FUNCTION

c++ - 如何向 QMainWindow 添加背景图像?

c++ - 更改 QLineEdit 的 x 和 y 位置

java - 了解 Fastutil 内部的资源

c++ - 即使 OpenVirtualDisk 成功,QueryChangesVirtualDisk 仍返回 ERROR_INVALID_HANDLE(6)

c++ - C 和 C++ 调用函数时 EAX 寄存器初始化的差异

c++ - 如何使用 opencv 围绕 y 轴旋转图像?

c++ - 你能在 C++ 中设置调用堆栈的大小吗? (vs2008)

java - 在 Java 中使用哪个集合?

java - TreeMultimap 不允许 null 或空值?