小编6e6*_*d65的帖子

如何在不派生QObject的情况下使用SIGNAL和SLOT?

或其他方式来表达我的问题(虽然它没有解决我的问题):'QObject :: QObject'无法访问类'QObject'中声明的私有成员

我的课程中需要SIGNALs和SLOTS功能,但我认为不可能从中衍生出来QObject

class MyClass
{
signals:
   importantSignal();
public slots:
   importantSlot();
};
Run Code Online (Sandbox Code Playgroud)

问题似乎是我需要派生QObject来使用信号和插槽......但我需要默认的构造函数MyClass.但由于以下特性,我无法构造它们QObject: No Copy Constructor或Assignment Operator.

我试了很多......

所以我的上课看起来像这样:

#include <QObject>
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();
};
Run Code Online (Sandbox Code Playgroud)

我需要默认的构造函数MyClass.

那么有没有可能避免"'QObject :: QObject'无法访问类'QObject'中声明的私有成员"错误?

或者作为替代方案是否有可能没有使用信号和插槽QObject

我很高兴有任何建议.

c++ qt qobject slot qt-signals

16
推荐指数
2
解决办法
2万
查看次数

标签 统计

c++ ×1

qobject ×1

qt ×1

qt-signals ×1

slot ×1