Qt:继承父类中的QObject和子类中的其他QWidget子类

问题描述 投票:0回答:1

我正在为 Qt 编写一系列自定义类。我需要的是有一个几乎没有自定义信号和槽的基类,并且子类将拥有它。但是,我确实知道从相同的类继承会引发错误。我已阅读文档,但仅规定如果我希望使用 Q_OBJECT 宏,则需要包含 QObject。这是我打算做的以下示例代码:

class Base : public QObject
{
Q_OBJECT

base signals here

public base slots here
}

class Child : public QLabel, public Base 
{
// Other codes here
}

这样可以吗?因为我只想使用 Qt 来连接所有从父类继承的子类。

c++ qt qt5
1个回答
1
投票

由于多种原因,QObject 的多重继承将不起作用。 (Moc-Compiler 无法正常工作,并且 QObject 具有成员变量,这使得多重继承不安全)。

如果您想为多个对象提供相同的行为,最好使用组合而不是继承。

© www.soinside.com 2019 - 2024. All rights reserved.