Qt调用QDialog继承类的成员函数

时间:2017-05-15 23:19:12

标签: c++ qt

我有两节课。第一个B类声明:

B::B(QWidget * parent) : QDialog(parent)
{
    setupUi(this);
}

B::B(A * aClass, C * cClass)
{
    setupUi(this);

    connect(m_checkbox, SIGNAL(toggled(bool)), A, SLOT(toggleAClass(bool)));    
}

void B::setBChecked(bool checked)
{
    m_checkbox->setChecked(checked);
}

A类,其代码为:

B * m_b = new B(this, m_c);

以及进一步的调用:

m_b->B::setBChecked(true);

// I also tried
// m_b->setBChecked(true);

我遇到的问题是,由于B是QDialog,它说的是 'B' is not a base of 'QDialog'

我需要能够从B类调用A类的自定义函数。

感谢任何帮助〜

1 个答案:

答案 0 :(得分:0)

问题出现在A.hh。我已宣布

QDialog * m_b;

所以引用m_b的所有内容都不在QDialog类中。

将此更改为

class B;
B * m_b;

修正了问题。