Folgendes Szenario:
Ich habe eine Qt Applikation, in welcher viele Klassen existieren, unter anderm auch eine Klasse "MyButton" welche abgeleitet ist von QPushButton. So ein Knopf befindet sich zum Beispiel in einem QWidget, und das in einem QWidgetStack, welches wiederrum dem Hauptfenster (also QMainWindow) gehört.
Nun möchte ich auf jeden Knopfdruck eben dieser "MyButton" Knöpfe eine Reaktion implementieren, jedoch ohne explizit jeden Knopf per Signal und Slot bis zum QMainWindow durchzuschleifen.
Also im Prinzip möchte ich irgendwie in meinem Hauptfenster rausbekommen, wenn ein "MyButton" gedrückt wurde, wobei diese Knöpfe in "Unterwidgets" sind, die wiederrum dem Hauptfenster zugehörig sind.
Bis dato habe ich Folgendes versucht:
eigener QEvent:
Code: Alles auswählen
class QMyEvent : public QEvent
{
public:
QMyEvent () : QEvent((QEvent::Type)1111) {}
};Code: Alles auswählen
void MyButton::onClickedSlot(void)
{
QMyEvent *eve;
eve = new QMyEvent ();
qApp->postEvent(this, eve);
}Code: Alles auswählen
bool MyMainWindow::eventFilter(QObject *object, QEvent *event)
{
if (event->type() == 1111)
{
qDebug("Beep\n");
}
return QMainWindow::eventFilter(object,event);
}Kann mir da vielleicht bitte jemand einen Tipp geben? War der Gedanke das so zu machen verkehrt?
Viele Grüße