[gelöst] Probleme mit Connections

Alles rund um die Programmierung mit Qt
Antworten
kleineSchildy
Beiträge: 76
Registriert: 16. September 2004 18:29
Wohnort: Dresden

[gelöst] Probleme mit Connections

Beitrag von kleineSchildy »

Hallo,

ich bekomm das mit der Connection irgendwie nicht hin :( Hier ist mein Code:

Code: Alles auswählen

#include <QtGui>
#include <QGridLayout>
#include <QGroupBox>
#include <QRadioButton>


#include "mainwindow.h"
#include "mdisimmod.h"

MainWindow::MainWindow()
{
     //erzeugt Fläche für SubWindows
     mdiArea = new QMdiArea;
     setCentralWidget(mdiArea);
     
     //erzeugt Menü-Bar
     createMenus();
     createStatusBar();

     //Titelzeile
     setWindowTitle(tr("Inhouse Simulator"));
}

void MainWindow::createMenus()
{
     //File-Menü
     fileMenu = menuBar()->addMenu(tr("&File"));
     
     //Edit-Menü
     editMenu = menuBar()->addMenu(tr("&Edit"));

     //View-Menü (einzelne Fenster öffnen)
     viewMenu = menuBar()->addMenu(tr("&View"));
     //öffnen des Source-Fenster
     QAction *simModule = viewMenu->addAction(tr("Simulation Modules"));
     connect(simModule, SIGNAL(triggered()), this, SLOT(newFile()));
     
     //Fenster-Menü (welche Fenster sind gerade offen)
     winMenu = menuBar()->addMenu(tr("&Windows"));

     //Hilfe-Menü
     helpMenu = menuBar()->addMenu(tr("&Help"));
}

void MainWindow::newFile()
{
     //Subwindow erzeugen
     MdiSimMod *child = new MdiSimMod;
     child->newSimMod();
     
     //GroupBox festlegen
     QGroupBox *gbSource = new QGroupBox(tr("Source"));
     QRadioButton *rbTophat = new QRadioButton(tr("Tophat"));
     QRadioButton *rbProcess = new QRadioButton(tr("Processed Measured"));
     QRadioButton *rbSynthes = new QRadioButton(tr("Synthesized Physical"));
     QVBoxLayout *blSource = new QVBoxLayout;
     blSource->addWidget(rbTophat);
     blSource->addWidget(rbProcess);
     blSource->addWidget(rbSynthes);
     gbSource->setLayout(blSource);
     
     QGridLayout *grid = new QGridLayout;
     grid->addWidget(gbSource,0,0);
     child->setLayout(grid);

connect(rbTophat,SIGNAL(clicked()), this, SLOT(test("Tophat")));

Code: Alles auswählen

    
     mdiArea->addSubWindow(child);
     child->show();
}

void MainWindow::createStatusBar()
{
     statusBar()->showMessage(tr("Ready"));    
}

void MainWindow::test(QString text)
{
     statusBar()->showMessage(text);    
}
Es passiert einfach nix. Normalerweise müsste in der Statusleiste dann "Tophat" zu lesen sein, sobald ich den RadioButton anklicke.

Was mache ich falsch?

Vielen Dank im Voraus.

Viele Grüße
Jana
Zuletzt geändert von kleineSchildy am 6. November 2007 14:55, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Wie oft soll man es denn noch erklären??
Beim connect kann man keine Parameter übergeben. Und die Anzahl der Parameterim Signal muss >= Anzahl der Parameter im Slot sein!
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
kleineSchildy
Beiträge: 76
Registriert: 16. September 2004 18:29
Wohnort: Dresden

Beitrag von kleineSchildy »

stimmt, sorry bin Anfänger :oops:

Viele Grüße
Jana
Antworten