我有两节课。第一个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
类的自定义函数。
感谢任何帮助〜
答案 0 :(得分:0)
问题出现在A.hh
。我已宣布
QDialog * m_b;
所以引用m_b
的所有内容都不在QDialog类中。
将此更改为
class B;
B * m_b;
修正了问题。