Как передать указатель на QMetaObject :: newInstance (), используя Q_ARG

Я пытаюсь вызвать конструктор объекта, используя метод QMetaObject :: newInstance. Ниже у меня есть два примера конструкторов, которые я собираюсь использовать, один с указателями, а другой только с базовыми типами:

class A : public QObject {
Q_OBJECT
public:
Q_INVOKABLE A(B *b, QObject * parent = 0); // Constructor A
Q_INVOKABLE A(int x); // Constructor B
}

Я могу вызвать конструктор B, используя:

const QMetaObject *metaObj = &A::staticMetaObject;
metaObj->newInstance(Q_ARG(int, 0));

но вызов конструктора A не работает:

metaObj->newInstance(Q_ARG(B, b_ptr), Q_ARG(QObject, parent));

Я пробовал несколько вариантов, включая Q_ARG (B *, b_ptr). Кроме того, класс B также наследуется от QObject.

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]