gelöst: Radiobutton lässt sich nicht umschalten

Alles rund um die Programmierung mit Qt
Antworten
qtNiko
Beiträge: 216
Registriert: 6. April 2007 21:26
Wohnort: München

gelöst: Radiobutton lässt sich nicht umschalten

Beitrag von qtNiko »

hi,
ich habe zwei Radiobuttons, radioButt_outbin und radioButt_outasc, in einer Groupbox. In der Groupbox befinden sich auch noch weitere Buttons. Die beiden Radiobuttons haben enabled=true, checkable=true und autoExclusive=true.

Die Bedienung per Mouse klappt wie gewünscht, d.h. ich kann den einen anklicken, und der andere geht dann aus.

Das gleiche möchte ich nun programmiert machen. Welcher der beiden Radiobuttons eingeschaltet sein soll, steht in einer Konfigurationsdatei. Den Wert (0 oder 1) lese ich in ein QString resStr ein und schalte den entsprechenden Knopf ein:

Code: Alles auswählen

if (resStr.toInt() == 1) radioButt_outbin->click();
				else radioButt_outascii->click();
Die Radiobuttons bleiben jedoch auf der Defaulteinstellung (radioButt_outbin ein, radioButt_outasc aus) stehen, obwohl eine 0 eingelesen wird und damit umgeschaltet werden müsste.

Was mache ich falsch?

-------------
Lösung:
Das Problem lag daran, dass neben den beiden QRadioButton noch andere Knöpfe (QCheckBox, QLineEdit) nicht exklusiv in der Groupbox enthalten waren.
Nachdem ich die beiden QRadioButton in eine eigene Groupbox gepackt habe, klappt es.

Vielen Dank für die Tipps.
Zuletzt geändert von qtNiko am 30. Dezember 2009 00:56, insgesamt 1-mal geändert.
Gruß von qtNiko

Core i5 760, GT 240, Suse Linux11.3, Eclipse-CDT-Helios, QT4.4, QT-Integration
sowas
Beiträge: 105
Registriert: 19. September 2006 16:02

Radiobutton lässt sich nicht umschalten

Beitrag von sowas »

Hallo,
radiobutton muss du wie pushbutton behandeln, sie senden signale und du mss die slots einwickeln.
tschüss
bk
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

@sowas: wie meinen?

Zum einen solltest du setChecked(true) verwenden, zum anderen, wenn du schon schreibst 'sollte' dann solltest du dies auch mal mit dem Debugger überprüfen.
sowas
Beiträge: 105
Registriert: 19. September 2006 16:02

Radiobutton lässt sich nicht umschalten

Beitrag von sowas »

ich hab was falsches gesagt .
unter ../examples/dialogs/licensewizard zeigt Trolltech wie man radiobuttons anwenden kann.
tschüss bk
honda71
Beiträge: 49
Registriert: 12. Juli 2006 16:16

Beitrag von honda71 »

Man könnte das so abbilden:

Code: Alles auswählen

radioButt_outbin->setChecked(resStr.toInt()==1);
radioButt_outascii->setChecked(resStr.toInt()!=1);
Grüsse
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Code: Alles auswählen

QRadioButton *radioButt_outBin=new QRadioButton();
QRadioButton *radioButt_outAscii=new QRadioButton();
QButtonGroup *group=new QButtonGroup();
group->addButton(radioButt_outBin, 0);
group->addButton(radioButt_outAscii, 1);

group->button(resStr.toInt())->setChecked(true);
Wäre auch noch eine Möglichkeit...
Antworten