首页 文章

信号/插槽基类多重继承

提问于
浏览
1

在我的Qt多线程程序中,我想实现一个基于QObject的基类,因此从它派生的每个类都可以使用它的信号和槽(例如抛出错误) .

我实施了 MyQObject : public QObject{...} . 但是对于从QWidget派生的类,我无法从QWidget和MyQObject进行多重继承 .

我可以通过QMetaObject :: invokeMethod(...)直接调用插槽来解决问题,但我感兴趣的是,如果有另一种方法来解决这个问题 .

1 回答

  • 0

    使用QObject进行多重继承可以遵循以下规则:

    • 只有一个父类可以是QObject / QWidget

    • QObject父级必须是初始化中的第一个父级 .

    有一个技巧允许您在非qobject接口中声明类似函数的信号,然后声明它使用组合继承该接口 . 看看this post,它可能会有用 .

相关问题