ich versuche ein einfaches Beispiel zum Laufen zu bringen: das Ergebnis:
1. der Button openButton ist sichtbar
2. das connect liefert true, ich nehme also an, dass die Verbindung steht.
3. ABER: wenn ich den Button drücke, tut sich nichts, d.h opencounter() wird nicht aufgerufen (hab's auch im Debugger probiert).
Wie kann ich rausfinden, was schief läuft??
HEADER:
Code: Alles auswählen
#ifndef OPENCOUNTERDIALOG_H
#define OPENCOUNTERDIALOG_H
#include <QObject>
#include "ui_counter.h"
class QGroupBox;
class QPushButton;
class OpenCounterDialog : public QObject {
Q_OBJECT
private:
QPushButton* openButton;
public:
OpenCounterDialog(QGroupBox* parent);
private slots:
void opencounter();
};
#endif
Code: Alles auswählen
#include <QtGui>
#include <QDebug>
#include "openCounter.h"
#include "counterdialog.h"
OpenCounterDialog::OpenCounterDialog(QGroupBox* parent) {
openButton = new QPushButton(tr("&Open Counter Dialog"));
QHBoxLayout *mainLayout = new QHBoxLayout;
mainLayout->addWidget(openButton);
mainLayout->addStretch();
parent->setLayout(mainLayout);
if (connect(openButton, SIGNAL(clicked()), this, SLOT(opencounter() )) ) {
qDebug(" openButton connected ");
}
}
void OpenCounterDialog::opencounter() {
CounterDialog dialog;
qDebug(" opencounter ");
dialog.show();
}