ich arbeite gerade durch das http://techbase.kde.org/Development/Tut ... g_KActions tutorial. Der Code 1:1 übernomen funktioniert. Jetzt möchte ich im File Menu einen weiteren Eintrag haben, dazu habe ich ein paar Ergänzungen gemacht, hier die wichtigsten:
Im rc File den Eintrag eingetragen:
Code: Alles auswählen
<MenuBar>
<Menu name="file" >
<Action name="clear" />
<Action name="myAction" />
</Menu>
</MenuBar>
im mainwindow.h meinen Slot deklariert:
Code: Alles auswählen
public slots:
void myActionSlot();
Code: Alles auswählen
void MainWindow::myActionSlot()
{
qDebug() << "myAction";
}
Code: Alles auswählen
//... so wie im Tutorial bis hier plus:
KAction* myAction = new KAction(this);
myAction -> setText("Eintrag im UI");
actionCollection()->addAction("myActionName", myAction);
connect(myAction,SIGNAL(triggered(bool)),SLOT(myActionSlot()));
setupGUI(Default, "tutorial2ui.rc");
Beim Auswählen des Menueintrags kommt gar nichts. Wieso ist der slot nicht vorhanden er ist doch definiert?Object::connect: No such slot KXmlGuiWindow::myActionSlot()
Object::connect: (sender name: 'myActionName')
Mein zweites Problem ist addAction Funktion, dort habe ich den Namen "myActionName" vergeben, ich werde aus der KDE Doku aber nicht schlau wo dieser Name zu passen muß. Zum rc-xml File ja nicht da dort ja der Objektname der Aktion genutzt wird. Im Slot/Signal Zuweisung doch eigentlich auch nicht.
Danke,
J.