I'm having a problem with QT regarding multiple enheritance because of QObject. I know that a lot of others have the same problems but I don't know how I should fix it.
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
...
}
When I do this
MainMenuOption* messages = new MainMenuOption();
connect(messages, SIGNAL(selected()), SLOT(onMenuOptionSelected()))
I will get the error:
QObject' is an ambiguous base of 'MainMenuOption'
The reason why I let NavigatableItem enherit from QObject because of the signals. Is there a way to do this?
Edit:
Adding virtual to each inheritence declaration, still gives me the same error:
class NavigatableItem : public virtual QObject
class Button : public virtual NavigatableItem, public virtual QToolButton
class MainMenuOption : public virtual Button
Even after a 'clean all', 'run qmake' and 'build all'.