Как использовать СИГНАЛ и СЛОТ без вывода из QObject?

ИЛИ другой способ сформулировать мой вопрос (хотя это не решило мою проблему): 'QObject :: QObject' не может получить доступ к закрытому члену, объявленному в классе 'QObject'

Мне нужны функции СИГНАЛОВ и СЛОТОВ в мой класс, но я предполагаю, что это невозможно без наследования от QObject ?

class MyClass
{
signals:
   importantSignal();
public slots:
   importantSlot();
};

Проблема, похоже, в том, что мне нужно наследовать от QObject , чтобы использовать сигналы и слоты .. .. но мне нужен конструктор по умолчанию MyClass . Но я не могу их построить из-за следующей особенности QObject : Нет конструктора копирования или оператора присваивания .

Я много пробовал ...

Итак, мой класс плеч выглядит так:

#include 
class MyClass: public QObject
{
    Q_OBJECT
public:
    explicit MyClass(QObject *parent = 0); //autogenerated by qtcreator for QObject derived class
    MyClass(const MyClass * other);

signals:
    importantSignal();
public slots:
    importantSlot();
};

Мне нужен конструктор по умолчанию MyClass .

Так есть ли возможность избежать ошибки «QObject :: QObject» не может получить доступ к закрытому члену, объявленному в классе «QObject»?

Или, как альтернатива, есть ли возможность использовать сигналы и слоты без QObject ?

Рад любому совету.

16
задан Louis Langholtz 5 March 2018 в 05:11
поделиться