ich habe eine abgeleitete QGroupbox in der ich den Klassenmember QVBoxLayout mit QRadioButtons fülle. Später werden die zur Laufzeit aktualisiert. Aktuell löse ich das mit QPushButtons. Hierzu habe ich die QGroupBoxKlasse wiederum in eine TestWidget-Klasse integriert, die die QGroupBox und noch ein QPlainTextEdit und 2 PushButtons beinhaltet.
Immer wenn ich eine neue Konfiguration in mein textEdit eingebe, sollen die QRadioButtons neu generiert werden. Hierzu lösche ich die alten, die ich in einer internen Struktur speichere und füge die neuen zu meinem QVBoxLayout hinzu.
QVBoyLayout wird im Konstruktor initialisiert.
Hier der relevante Code (Teil aus einer Funktion, gekürzt):
Code: Alles auswählen
//_buttons ist die interne Struktur in der ich die QPushbuttons halte
//_altern QMap der neuen QPushButtons
for (int i = 0; i < _buttons->size(); i++) {
vBox->removeWidget(_buttons->value(i));
disconnect(_buttons->value(i), SIGNAL(clicked()),
this, SLOT(alternativeSelected()));
}
_buttons->clear();
QMapIterator<QString, QString> i(*_altern);
while (i.hasNext()) {
i.next();
QRadioButton *radio = new QRadioButton(i.value());
_buttons->append(radio);
vBox->addWidget(radio);
connect(radio, SIGNAL(clicked()),
this, SLOT(alternativeSelected()));
}
repaint();Hat jemand bitte einen Tipp?
Danke
Alexander
PS: So sieht das aus: http://qt.venus22.net/alternatives.jpg