После еще нескольких исследований это возможно, используя QVariant::fromValue()
и QVariant::value()
.
Пример кода:
QTcpSocket *ob = new QTcpSocket();
qDebug("%p", ob);
QPointer<QTcpSocket> qp(ob);
QVariant qv = QVariant::fromValue(qp);
qp = qv.value<QPointer<QTcpSocket> >();
qDebug("%p", qp.data());
delete ob;
qDebug("%p", qp.data());
Это дает:
0x137c070
0x137c070
0x0