Alles rund um die Programmierung mit Qt
-
pospiech
- Beiträge: 232
- Registriert: 1. September 2006 17:20
- Wohnort: Hannover
Beitrag
von pospiech »
bei folgendem Code passiert gar nichts wenn ich die Auswahl in der Combobox ändere. Was ist falsch?
Code: Alles auswählen
#include "Ui_NewPhaseObjectDialog.h"
class NewPhaseObjectDialog : public QDialog, protected Ui_NewPhaseObjectDialog
{
Q_OBJECT
public:
NewPhaseObjectDialog(QWidget* parent = 0, Qt::WFlags flags = 0);
virtual ~NewPhaseObjectDialog();
private slots:
void BoxPhaseMaskTypeChanged(int value);
private:
void InitUi();
void ConnectSignals();
};
Code: Alles auswählen
#include "NewPhaseObjectDialog.h"
NewPhaseObjectDialog::NewPhaseObjectDialog(QWidget* parent /*= 0*/, Qt::WFlags flags /*= 0*/) : QDialog(parent, flags)
{
setupUi(this);
InitUi();
ConnectSignals();
}
NewPhaseObjectDialog::~NewPhaseObjectDialog()
{
}
void NewPhaseObjectDialog::InitUi()
{
cBoxPhaseMaskType->clear();
cBoxPhaseMaskType->addItem(tr("Fresnel Lens"));
cBoxPhaseMaskType->addItem(tr("Grating"));
cBoxPhaseMaskType->addItem(tr("IFTA (Iterative Fourier Transform Algorithm)"));
cBoxPhaseMaskType->addItem(tr("Geometric Shapes (Raytracing Calculations)"));
}
void NewPhaseObjectDialog::ConnectSignals()
{
connect(cBoxPhaseMaskType, SIGNAL(activated(int)), this, SLOT(BoxPhaseMaskTypeChanged(int)));
}
void NewPhaseObjectDialog::BoxPhaseMaskTypeChanged(int value)
{
QString buffer = cBoxPhaseMaskType->itemText(value);
lineEditDescription->setText(buffer);
}
Matthias[/code]
-
pospiech
- Beiträge: 232
- Registriert: 1. September 2006 17:20
- Wohnort: Hannover
Beitrag
von pospiech »
Wo ist denn der Unterschied?
Jetzt steht da
Code: Alles auswählen
connect(cBoxPhaseMaskType, SIGNAL(currentIndexChanged(int)), this, SLOT(BoxPhaseMaskTypeChanged(int)));
aber passieren tut noch immer nichts. Das Programm landet nie in der Funktion BoxPhaseMaskTypeChanged.
Matthias
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
-
Kontaktdaten:
Beitrag
von Christian81 »
Programm von der Konsole starten und auf die Ausgaben von Qt schauen.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
pospiech
- Beiträge: 232
- Registriert: 1. September 2006 17:20
- Wohnort: Hannover
Beitrag
von pospiech »
Christian81 hat geschrieben:Programm von der Konsole starten und auf die Ausgaben von Qt schauen.
Das liefert mir
Object::connect: No such slot NewPhaseObjectDialog::BoxDimensionsChanged(int)
Object::connect: (sender name: 'cBoxDimensions')
Object::connect: (receiver name: 'NewPhaseObjectDialog')
Object::connect: No such slot NewPhaseObjectDialog::BoxSizesChanged(int)
Object::connect: (sender name: 'cBoxSizes')
Object::connect: (receiver name: 'NewPhaseObjectDialog')
Object::connect: No such slot NewPhaseObjectDialog::BoxPhaseMaskTypeChanged(int)
Object::connect: (sender name: 'cBoxPhaseMaskType')
Object::connect: (receiver name: 'NewPhaseObjectDialog')
was ich aber nicht verstehe, da ich die Funktionen doch als slot definiert habe
Matthias