问题标签 [qpointer]

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 投票
1 回答
350 浏览

c++ - Qt:QPointer改变时发出信号

我想创建一个类似于QPointer(或子类)的类,只要内部指针发生变化,它就会发出一个信号。

不幸的是,我需要继承QObject类才能发出信号,而且我认为我需要使用模板来存储特定类型的指针。但是根据这个问题,不可能QObject与模板混合。

知道如何让我的类跟踪内部指针的变化吗?

0 投票
1 回答
1862 浏览

c++ - QPointer::clear() 是否删除其引用的指针,或者是否“清除此 QPointer 对象”。还有别的意思吗?

QPointer有方法,clear().

清除此 QPointer 对象。

我不确定“清晰”到底是什么意思。在我看来,这可能意味着

  1. 它会删除您引用的指针。

或者

  1. 它取消附加您引用的指针,将该指针留在堆上,并且QPointer<T>对象不再绑定到任何指针。

或许还有别的意思?你能告诉我它实际上是做什么的吗?

0 投票
2 回答
1253 浏览

c++ - 我应该在类的析构函数中删除 QPointer 吗?

假设我有一个像下面这样的类:

我是否需要m_process手动删除,如析构函数中所示?

不幸的是,我不能使用std::unique_ptror std::shared_ptr

我还没有看到QObject::connect.

另一方面,在QPointer::~QPointer()我读过:

销毁受保护的指针。就像普通指针一样,销毁受保护的指针不会破坏指向的对象。

这意味着QPointer::~QPointer()将 delete asMyClass的对象超出范围,因此我要删除m_process两次?

还是我误会了?

0 投票
1 回答
244 浏览

c++ - 将 QPointer 存储到 QVariant 中

我可以存储 a QPointer,例如 aQPointer<QTcpSocket>在 a 中QVariant,然后从中提取它吗?

我试过:

但我得到一个错误 - QVariant::QVariant(void*)' is private

0 投票
0 回答
69 浏览

c++ - 向量> 保存到 QSettings

我在 main.c 中注册

我超载这个

我从 qsetting 中获得了价值

我得到QVector了新的指针都很好,但为什么它有效?我不明白如何为QPointer<Sensor>它发生的地方分配内存?