Seite 1 von 1
QRadioButton in QGroupBox und das alte selected()
Verfasst: 2. November 2005 10:49
von alike
Hi ihr,
ich überarbeite grad ein Programm, dass noch auf Qt2
basiert. in dem wird die selected()-Funktion von Q3ButtonGroup
verwendet, um herauszufinden, welcher RadioButton selektiert ist.
In Qt4 gibt es diese QButtonGroup so nicht mehr, hab sie
deshalb durch qGroupBox ersetzt, wie in der Porting-Doku
angegeben. In QGroupBox gibt es die selected()-Funktion nicht
mehr, daher wollte ich fragen, ob es eine elegantere Variante gibt
auf den selected status der RadioButtons zuzugreifen
als über QGroupBox->children()....
mfg
aLiKe
Re: QRadioButton in QGroupBox und das alte selected()
Verfasst: 2. November 2005 11:18
von macman
Qt-Doku sagt:
QAbstractButton * QButtonGroup::checkedButton () const
Returns the button group's checked button, or 0 if no buttons are checked.
Das war es doch was Du suchst, oder?

Verfasst: 2. November 2005 12:15
von alike
Nope, ich muss für mein Prog schon
QGroupBox verwenden, da QButtonGroup
seit Qt4 kein QWidget mehr ist.
Verfasst: 2. November 2005 16:40
von FlorianBecker
Da ist Handarbeit gefragt,
radioBtn1 -> isChecked();
radioBtn2 -> isChecked();
radioBtn3 -> isChecked();
damit findest du in der GroupBox heraus, welcher Button gedrückt ist. Unter Qt4 wurde GroupBox und ButtonGroup zusammengefügt, da es eigentlich beides das gleiche ist.
Verfasst: 3. November 2005 09:05
von alike
Also doch Handarbeit, schade.
Nagut^^ Dann ist das hier gelöst;)
Danke für die Antwort
Verfasst: 3. November 2005 09:53
von macman
Ich weiß nicht warum du die Buttons nicht einfach in eine QButtonGroup packst? Das hat doch keine Auswirkungen auf die Buttons selbst, außer das Du dann ein weiteres Signal hast, welcher Button nun geklickt wurde, mit dem übergebenen Button, und Du abfragen kannst, welcher Button gecheckt ist. Es ist halt nur ein Container um dir diese Funktionen zur Verfügung zu stellen, visuell ohne Wirkung. Oder überseh ich da was?
Verfasst: 3. November 2005 14:53
von alike
Das problem ist die "Umgebung" von QGroupBox.
Ich brauche da immer QWidgets, und da QButtonGroup
in Qt4 wiegesagt kein QWidget mehr ist, muss ich
die QGroupBox nehmen.
Verfasst: 3. November 2005 15:37
von macman
Ich meine das so:
Code: Alles auswählen
QButtonGroup* bg = new QButtonGroup(myGroupBox);
bg->addButton(firstButton);
bg->addButton(nextButton);
bg->addButton(nextButton);
Du hast deine Buttons ganz normal in der GroupBox und
zusätzlich in der ButtonGroup. Du kannst sie natürlich auch per QGroupBox->children() in eine QList packen und dann einzeln durchklappern

, wobei ich jedoch vermute, das QButtonGroup auch nur eine erweiterte QList ist.
Verfasst: 4. November 2005 08:18
von alike
Mhhh, wäre Quasi ne art Lösung, joa...
Mhhh.... Werd ich mal drübe rnachdenken^^
Aber mit dem einzeln durchklappern fahr ich momentan auch ganz
gut:D