Neues Fenster von der Menüleiste aus öffnen

Alles rund um die Programmierung mit Qt
Antworten
mmuuuuhh
Beiträge: 2
Registriert: 19. September 2012 15:00

Neues Fenster von der Menüleiste aus öffnen

Beitrag von mmuuuuhh »

Hi,

ich habe gerade erst mit Qt Programmierung angefangen.

Mit Hilfe eines Buchs habe ich es geschafft ein Fenster mit einer Menüleiste und untermenüs zu erzeugen.
Wie schaffe ich es aber, per klick auf ein Untermenü ein neues Fenster zu öffnen?

Hier mein Quellcode:

MyWindow.h

Code: Alles auswählen

#ifndef MyWindow_H
#define MyWindow_H

#include <QWidget>
#include <QMainWindow>


class MyWindow : public QMainWindow {
     Q_OBJECT
public:
     MyWindow( QMainWindow *parent = 0,
               Qt::WindowFlags flags = 0 );
//public slots:
//     void foo();
};
#endif

Und MyWindow.cpp

Code: Alles auswählen

#include "MyWindow.h"
#include <QApplication>
#include <QMenu>
#include <QMenuBar>
#include <QLabel>


MyWindow::MyWindow( QMainWindow *parent,
                    Qt::WindowFlags flags ) :


    QMainWindow(parent, flags)  {



    resize(400, 400);
    setWindowTitle("Hausaufgabe");

    QMenu *fileMenu = new QMenu(tr("&Einziger Knopf"), this);
    menuBar()->addMenu(fileMenu);


    fileMenu->addAction(
                QIcon(),
                tr("&Foo"),
                this,
                0,
           //     SLOT(foo()),
                QKeySequence(tr("F"))
                );



    fileMenu->addAction(
                QIcon(),
                tr("&Bar"),
                this,
                0,
                QKeySequence(tr("B"))
                );


    fileMenu->addAction(
                QIcon(),
                tr("Ba&z"),
                this,
                0,
                QKeySequence(tr("Z"))
                );

    fileMenu->addSeparator();

    fileMenu->addAction(
                QIcon(),
                tr("Beenden"),
                qApp,
                SLOT(quit()),
                QKeySequence(tr("X"))
                );
}
Ich vermute es geht über SLOTs - aber wie ist mir nicht so ganz klar :)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Neues Fenster von der Menüleiste aus öffnen

Beitrag von Christian81 »

Hier mal bitte durchlesen und bei Fragen stehen wir gerne Rede und Antwort: http://qt-project.org/doc/qt-5.0/signalsandslots.html
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
mmuuuuhh
Beiträge: 2
Registriert: 19. September 2012 15:00

Re: Neues Fenster von der Menüleiste aus öffnen

Beitrag von mmuuuuhh »

Ich hab's durchgelsen, ebenso wie das Kapitel in meinem Buch, und auch diese Tutorials habe ich gemacht: http://qt-project.org/videos/watch/fund ... t-part-2-3

Mir ist das Prinzip auch völlig klar, nur mit der Menüleiste kann ich es nicht in Zusammenhang bringen...

Das einzige was mir hier verdächtig vorkommt ist das SLOT() - aber wie ich damit ein neues Fenster öffne versteh ich einfach nicht...
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Neues Fenster von der Menüleiste aus öffnen

Beitrag von Christian81 »

addAction() gibt eine QAction zurück. QAction hat ein Signal triggered() welches Du mit einem selbstdefinierten Slot im MyWindow verbinden kannst.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten