Signal nicht disconnected
Verfasst: 28. Januar 2009 18:06
Ich habe folgenden Code:
Ich änder in einem widget die dort enthaltenen Daten. Diese schickt von sich aus immer ein Signal, das genau jetzt aber ignoriert werden soll.
Ich sehe aber, das trotzdem InputBeamChanged() aufgerufen wird:
Code: Alles auswählen
disconnect(widgetInputBeamImpl);
widgetInputBeamImpl->setInputBeam(& InternalPhaseObject->InputBeam);
// reconnect after Data Applied
//connect(widgetInputBeamImpl, SIGNAL(inputBeamChanged()), this, SLOT(InputBeamChanged()));
Ich sehe aber, das trotzdem InputBeamChanged() aufgerufen wird:
Warum?AdvancedBeamShapingd.exe!widgetAdvancedComplexBeamView::OnRadioButtonChooseTransformation() Zeile 133 C++
> AdvancedBeamShapingd.exe!widgetAdvancedComplexBeamView::InputBeamChanged() Zeile 162 C++
AdvancedBeamShapingd.exe!widgetAdvancedComplexBeamView::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=8, void * * _a=0x0012b928) Zeile 95 + 0x8 Bytes C++
QtCored4.dll!QMetaObject::activate(QObject * sender=0x01984608, int from_signal_index=27, int to_signal_index=27, void * * argv=0x00000000) Zeile 3022 + 0x2b Bytes C++
QtCored4.dll!QMetaObject::activate(QObject * sender=0x01984608, const QMetaObject * m=0x0065f648, int local_signal_index=0, void * * argv=0x00000000) Zeile 3092 + 0x15 Bytes C++
AdvancedBeamShapingd.exe!widgetInputBeam::inputBeamChanged() Zeile 90 + 0x15 Bytes C++
AdvancedBeamShapingd.exe!widgetInputBeam::OnButtonCalculate() Zeile 130 C++
AdvancedBeamShapingd.exe!widgetInputBeam::setInputBeam(beamshapes * beam=0x01f01d00) Zeile 183 C++
AdvancedBeamShapingd.exe!widgetAdvancedComplexBeamView::setPhaseObject(PhaseObject * object=0x01f01a38) Zeile 175 C++