QObject로 인해 여러 상속과 관련하여 QT에 문제가 있습니다. 나는 많은 다른 사람들이 같은 문제가 있다는 것을 알고 있지만 나는 그것을 어떻게 고쳐야하는지 모른다.Qt 다중 상속 및 신호
class NavigatableItem : public QObject
{
Q_OBJECT
signals:
void deselected();
void selected();
void activated();
};
class Button : public NavigatableItem, public QToolButton
{
Q_OBJECT
...
}
class MainMenuOption : public Button
{
Q_OBJECT
...
}
나는이
MainMenuOption* messages = new MainMenuOption();
connect(messages, SIGNAL(selected()), SLOT(onMenuOptionSelected()))
내가 오류를 얻을 것이다 수행 할 때 : 나는 때문에 신호의 QObject를에서 NavigatableItem의 enherit을 할 이유
QObject' is an ambiguous base of 'MainMenuOption'
이유를. 이것을 할 수있는 방법이 있습니까?
편집 : 각 상속 선언에 가상 추가
, 여전히 나에게 같은 오류를 제공합니다 :
class NavigatableItem : public virtual QObject
class Button : public virtual NavigatableItem, public virtual QToolButton
class MainMenuOption : public virtual Button
심지어 '깨끗한 모든', '실행 qmake를'과 '구축 모든'후 .
가 여러 QObject를 상속 할 수 없습니다 서브 클래스. 이 중 하나만 QObject가 될 수 있으며 목록의 첫 번째 것이어야합니다. –
'moc_ *','* .obj' 파일을 삭제하고 모두 다시 빌드 해보세요. – liaK
업데이트 된 질문보기. 재건축으로 문제가 해결되지 않았습니다. – RvdK