Hallo zusammen,
ich versuche durch Schließung eines Fensters einige Merkmale auf ein anderes Fenster (QWidget) zu ändern. Die Funktion wird aufgerufen, die Befehle aber werden nicht ausgeführt (außer printf()). Kann Jemand vieleicht mir helfen?
Gruß,
Gago.
Fenster Aufruf
Also,
Beim QT-Designer habe ich ein QMainWindow, dass ein Dialog (durch ein pushButton) aufruf. Soweit so gut. Wenn ich dieses Dialog schließe, sollte bei dem MainWindow ein Qlabel von Enabled(true) zum Enabled(false) geändert werden. Diese passiert aber nicht.
Die Aufrufe sehen so aus:
void calibForm::callLab()
{
idtLab *idt = new idtLab( this );
idt->closeCalib();
}
rufe eine Funktion closeCalib() auf, die im MainWindow ui.h steht.
closeCalib sieht so aus:
void idtLab::closeCalib()
{
pushButtonCalib->setOn(false);
pixmapCalibOn->setEnabled(false);
pixmapCalibOff->setEnabled(true);
printf("closeCalib wurde aufgerufen \n");
}
Beim Ausfuren reagieren die Befehle bis zum printf() nicht.
Ich hofe, dass jetzt ein bisschen deutlicher ist.
Danke.
gago.
Beim QT-Designer habe ich ein QMainWindow, dass ein Dialog (durch ein pushButton) aufruf. Soweit so gut. Wenn ich dieses Dialog schließe, sollte bei dem MainWindow ein Qlabel von Enabled(true) zum Enabled(false) geändert werden. Diese passiert aber nicht.
Die Aufrufe sehen so aus:
void calibForm::callLab()
{
idtLab *idt = new idtLab( this );
idt->closeCalib();
}
rufe eine Funktion closeCalib() auf, die im MainWindow ui.h steht.
closeCalib sieht so aus:
void idtLab::closeCalib()
{
pushButtonCalib->setOn(false);
pixmapCalibOn->setEnabled(false);
pixmapCalibOff->setEnabled(true);
printf("closeCalib wurde aufgerufen \n");
}
Beim Ausfuren reagieren die Befehle bis zum printf() nicht.
Ich hofe, dass jetzt ein bisschen deutlicher ist.
Danke.
gago.
hmmm, eine sehr seltsame Vorgehensweise. Wenn ich richtig verstanden habe, ist die idtLab deine Mein Window Klasse. Dann wäre die richtige Vorgehensweise folgende:
calibForm::calibForm(QWidget * parent, const char * name, int mode, bool modal, idtLab * pMainWindow)
{
m_pMainWindow = pMainWindow;
}
void calibForm::callLab()
{
m_pMainWindow->closeCalib();
}
calibForm::calibForm(QWidget * parent, const char * name, int mode, bool modal, idtLab * pMainWindow)
{
m_pMainWindow = pMainWindow;
}
void calibForm::callLab()
{
m_pMainWindow->closeCalib();
}