erança múltipla e sina
Estou tendo um problema com o QT em relação à herança múltipla por causa do QObject. Sei que muitos outros têm os mesmos problemas, mas não sei como devo corrigi-lo.
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
...
}
Quando faço isso
MainMenuOption* messages = new MainMenuOption();
connect(messages, SIGNAL(selected()), SLOT(onMenuOptionSelected()))
Vou receber o erro:
QObject 'é uma base ambígua de' MainMenuOption '
A razão pela qual deixei o NavigatableItem herdar do QObject por causa dos sinais. Existe uma maneira de fazer isso?
Editar
adição virtual a cada declaração de herança ainda me dá o mesmo err
class NavigatableItem : public virtual QObject
class Button : public virtual NavigatableItem, public virtual QToolButton
class MainMenuOption : public virtual Button
Mesmo depois de um 'clean all', 'execute qmake' e 'build all'