Click auf QMenu abfangen
Verfasst: 5. August 2015 14:41
Hallo Leute,
ich habe ein Main Menu oben im Programm a la:
File, Edit, Help etc.
diese haben Kinder, beispiel File:
File
.+--> Neu...
.+--> Öffnen
.+--> Zuletzt geöffnete
.........+--> datei1.dat
.........+--> datei2.dat
.........+--> datei3.dat
.+--> Beenden
Neu, Öffnen und Beenden sind QActions. Das "Zuletzt geöffnete" is eine QMenu wie "File", welchem ich dynamisch Kinder-QActions (hier datei*.dat, nämlich die zuletzt geöffneten) hinzufüge. Dies funktioniert auch ganz gut.
Zusätzlich dazu würde ich gerne einen eigenen SLOT ausführen, wenn ich auf "Zuletzt geöffnete" clicke, anstatt auf dessen Kinder zu clicken (was ja wie gesagt funktioniert).
und dann beispielsweise:
Es tut sich nichts, bzw. der Slot wird nur ausgeführt, wenn ich auf eines der Kinder datei*.dat clicke. Weil vlt. hier http://doc.qt.io/qt-5.5/qmenu.html#triggered :
LG Huckleberry
ich habe ein Main Menu oben im Programm a la:
File, Edit, Help etc.
diese haben Kinder, beispiel File:
File
.+--> Neu...
.+--> Öffnen
.+--> Zuletzt geöffnete
.........+--> datei1.dat
.........+--> datei2.dat
.........+--> datei3.dat
.+--> Beenden
Neu, Öffnen und Beenden sind QActions. Das "Zuletzt geöffnete" is eine QMenu wie "File", welchem ich dynamisch Kinder-QActions (hier datei*.dat, nämlich die zuletzt geöffneten) hinzufüge. Dies funktioniert auch ganz gut.
Zusätzlich dazu würde ich gerne einen eigenen SLOT ausführen, wenn ich auf "Zuletzt geöffnete" clicke, anstatt auf dessen Kinder zu clicken (was ja wie gesagt funktioniert).
Code: Alles auswählen
connect(ui->menuZuletzt_Geoffnet, SIGNAL(triggered(QAction*)), this, SLOT(slotZuletztGeoffnet(QAction*)));Code: Alles auswählen
void MainWindow::slotZuletztGeoffnet(QAction* action)
{
qDebug() << "Test Trigger";
}
Wüsste jemand wie ich es machen könnte? Vielen Dank schon mal..Note: This signal is emitted for the main parent menu in a hierarchy. Hence, only the parent menu needs to be connected to a slot; sub-menus need not be connected.
LG Huckleberry