Falsche Slotdefinition? Dialog aus Hauptfenster-Menü öffnen
Verfasst: 11. Juli 2005 14:44
Vermutlich eine reine Newbiefrage, aber ich werde da aus den Manuals nicht sonderlich schlau.
Ich habe in einer Designerdatei das Hauptfenster, in einer zweiten einen Dialog. Ueber das Hauptmenue der Anwendung soll ein
Dialog geoeffnet werden, das Signal kommt aber anscheinend nirgends an.
Hier die entsprechenden Sourcepassagen:
mainwindow.h
mainwindow.cpp
dialogs.h
dialogs.cpp
Wo mache ich dort den entscheidenen Fehler? das "quit"-signal funktioniert, wie es sollte, nur der Dialog wird nicht aufgerufen, eine zum testen eingebaute MessageBox verweigert ebenfalls den Dienst.
Gruß,
Marcel
Ich habe in einer Designerdatei das Hauptfenster, in einer zweiten einen Dialog. Ueber das Hauptmenue der Anwendung soll ein
Dialog geoeffnet werden, das Signal kommt aber anscheinend nirgends an.
Hier die entsprechenden Sourcepassagen:
mainwindow.h
Code: Alles auswählen
class ZUTMain : public QMainWindow, private Ui::ZUTMain {
QAction *quitAction;
QAction *loginAction;
...
public slots:
void openConnDialog( int ConnId );
};
mainwindow.cpp
Code: Alles auswählen
void ZUTMain::setupMenu(){
menuBar = new QMenuBar;
mainMenu= new QMenu (tr("&Main"),this);
loginAction = mainMenu->addAction(tr("&Connect Server"));
quitAction = mainMenu->addAction(tr("&Quit"));
menuBar->addMenu(mainMenu);
connect ( quitAction, SIGNAL(triggered()), this, SLOT(close()) );
connect ( loginAction, SIGNAL(triggered()), this, SLOT(openConnDialog(connectionIndex)) );
}
void ZUTMain::openConnDialog(int ConnId ){
ConnDialog *loginDialog;
loginDialog = new ConnDialog(this);
loginDialog->show();
}
dialogs.h
Code: Alles auswählen
#include "ui_connectDialog.h"
#include "ui_disconnectDialog.h"
class ConnDialog : public QDialog, private Ui::ConnDialog {
Q_OBJECT
public:
ConnDialog (QWidget *parent = 0);
};
dialogs.cpp
Code: Alles auswählen
ConnDialog::ConnDialog (QWidget *parent)
: QDialog (parent) {
setupUi(this);
connect(connectButton, SIGNAL(clicked()), this, SLOT(accept()));
connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
}
Gruß,
Marcel