QRadioButton::animateClick()
Verfasst: 31. Juli 2009 13:26
Hallo,
in einem QDialog habe ich alle QRadioButtons mit einem Slot verbunden. Der Code in diesem Solt soll bei bestimmten Voraussetzungen nicht ausgeführt werden, auch wenn er aufgerufen wird. Dazu nutze ich eine bool Variable die ich abfrage.
Das Problem dabei ist, dass die Variable aber gleich true ist, sobald ich QRadioButton::animateClick() aufrufe. Deshalb habe ich noch eine QEventLoop eingebaut um ggf. zu warten bis der Klick ausgeführt wurde, aber leider ohne Erfolg. Hier der Code dazu:
Das seltsame ist, wenn ich das ganze mit dem Debugger durchgehe funktioniert es. Sobald der Code normal ausgeführt wird, aber nicht. Wenn ich die QEventLoop nicht verwende funktioniert es auch mit dem Debugger nicht!
Wie kann ich das Problem lösen?
in einem QDialog habe ich alle QRadioButtons mit einem Slot verbunden. Der Code in diesem Solt soll bei bestimmten Voraussetzungen nicht ausgeführt werden, auch wenn er aufgerufen wird. Dazu nutze ich eine bool Variable die ich abfrage.
Das Problem dabei ist, dass die Variable aber gleich true ist, sobald ich QRadioButton::animateClick() aufrufe. Deshalb habe ich noch eine QEventLoop eingebaut um ggf. zu warten bis der Klick ausgeführt wurde, aber leider ohne Erfolg. Hier der Code dazu:
Code: Alles auswählen
bolExecuteSlot = false;
ui.buttonGroup->button( intID )->animateClick();
qApp->processEvents(QEventLoop::AllEvents);
// ...
bolExecuteSlot = true;Wie kann ich das Problem lösen?