Seite 1 von 1

[gelöst]erstellen eines Menüpunktes

Verfasst: 16. März 2010 18:17
von textmitfunktion
Hi,

ich hab mich mal durchgerungen für ein Konsolenprogramm von mir eine
GUI zu schreiben. Also hab ich letzte Woche mit QT angefangen.

nun hab ich ein Problem an dem ich nicht weiterkomme. Ich hoffe jemand
hier kann mir helfen. :)

Ich will wie im Betreff gesagt einfach nur einen Menüpunkt im Dateimenü erstellen und bei onClick eine Funktion ausführen.

Ich habe versucht das Example aus dem QT-Assistant (Main Window ->
Menus) in meine App zu implementieren. Doch es klappt nicht. Hier
ist mein code (nur den Teil den ich zu meinem funktionierenden Prog dazugemacht habe):

in der check.h:

Code: Alles auswählen

private slots:
    void einstellungen_aufrufen();
    void newFile();

private:
    void createActions();
    void createMenus();

     QMenu *fileMenu;
     QAction *newAct;
in der check.cpp:

Code: Alles auswählen

void check::newFile()
{
    ui->history->append("newFile");
}

void check::createActions()
{
    newAct = new QAction("&New", this);
    connect(newAct, SIGNAL(triggered()), this, SLOT(newFile()));
}

void check::createMenus()
{
    fileMenu = menuBar()->addMenu("&File");
    fileMenu->addAction(newAct);
}

void check::einstellungen_aufrufen()
{
    ui->history->append("einstellungen aufrufen");
}

Ich frage mich zB. wo die Funkktion newFile() zu "SLOT(newFile())"
erstellt werden muss. wie man sieht, hab ich sie einfach mal auf gut
Glück irgendwo in der .cpp eingebunden. Aber ob das so OK ist weiß ich nicht. So wie es jetzt ist, kommen zumindest mal keine compilerFehler und das das Prog läuft. Aber es wird kein Menü angezeigt und dementsprechend wird auch keine Funktion gestartet.

Sieht jemand auf anhieb wo es hakt?

Danke und viele Grüße

Verfasst: 16. März 2010 18:23
von Mani99
Naja, du rufst weder createActions() noch createMenus() auf?

Am besten du liest dir das hier durch, das ist ein beispiel wie es funktioniert!

Verfasst: 16. März 2010 19:02
von textmitfunktion
das ist ja genau das Example das ich verwendete.
Aber krass, ich hab tatsächlich übersehen die Funktionen aufzurufen. Habs jetzt in QMainWindow eingefügt und siehe da!

Also vielen Dank :D