ich möchte abhängig von einem übergebenen Wert 32 Radiobuttons "schalten". Hier mal der Quelltext dazu:
Code: Alles auswählen
bool Modultest::changeGUI(unsigned long value){
change = status ^ value;
for(int i=0; i<32; i++){
if(change & (1<<i)){
fprintf(stderr,"%x %d - ",change, i);
radioButton[i]->setCheckable(true);
if(value & (1<<i)){
fprintf(stderr,"true\n");
radioButton[i]->setChecked(true);
}else{
fprintf(stderr,"false\n");
radioButton[i]->setChecked(false);
}
radioButton[i]->setCheckable(false);
}
}
status = value;
return true;
}Das funktioniert mit der Bitoperation auch wunderbar. ABER:
Ich kann auf diesem Wege die Radiobuttons "einschalten", aber nicht wieder ausschalten. radioButton->setChecked(false) bleibt ohne Wirkung. Wenn ich allerdings mit der Maus über die RadioButtons drüberherfahre (ohne Klicken), dann ändern Sie sich.
Eigentlich missbrauche ich hier die Radiobuttons zur Statusanzeige. Mir ist aber kein anderes Object in die Finger gefallen. Hat jemand ne Idee, wie ich das Problem lösen kann?
Ich möchte in einem Dialog den Status von 32 IO Pins einer USB Karte anzeigen.