我有一个可以在几个不同的上下文中通过连接到某些信号进行侦听的类,以及一个可以进行侦听的对话框。

class MyListener : public QObject
{
    Q_OBJECT
};

class MyDialog : public QDialog, public MyListener
{
    Q_OBJECT
};

这导致以下编译错误:

错误:对“连接”的引用不明确

我怀疑这可能是由于MyDialog对QObject的多重继承所致,一次是通过QDialog,一次是通过MyListener。但是,将上述所有继承语句设为虚拟并不能消除该错误。

您能建议这是什么原因吗?

最佳答案

做了:

class MyDialog : public QDialog
{
    Q_OBJECT

    public:
    MyListener& listener() { return m_listener; }

    private:
    MyListener m_listener;
};

10-08 05:41