Indem ich feststelle, dass wir nicht wussten wie menu() funktioniert
Habs bei mir getestet und hatte den selben Fehler. Hab dann n Zeigerproblem vermutet, aber das wars nicht... Hat alles gestimmt und trotzdem hat mir menu() immer 0 zurückgeliefert...
Und zwar weil eine QAction nicht durch das Hinzufügen zu einem Menu weiß dass das dann sein Menu ist, sondern weil man es (anscheinend) mit QAction::setMenu( QMenu* ) erst setzen muss...
Wusste nicht, dass das so funktioniert... Wenn jemand meint dass es an was anderem lag kann er gern Bescheid sagen, mich wundert das nämlich grade ziemlich, weil auch in der Doku nichts davon steht, dass man das Menu manuell noch zusätzlich mit setMenu setzen muss.
Setz mal diese Zeile dorthin, wo du auch deine Action zu dem Menu hinzufügst.
Code: Alles auswählen
action->setMenu( my_last_opened_menu ); //hier eben das menu einfügen in welchem sich die action befindet
Und dann versuch nochmal die Funktion aufzurufen in der der String gesetzt werden soll.
/edit:
Oder setzt man mit setMenu das Menu fest, das von einer QAction beinhaltet wird? ich bin verwirrt...