我正在为 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 来连接所有从父类继承的子类。
由于多种原因,QObject 的多重继承将不起作用。 (Moc-Compiler 无法正常工作,并且 QObject 具有成员变量,这使得多重继承不安全)。
如果您想为多个对象提供相同的行为,最好使用组合而不是继承。