[gelöst] QGroupBox mit QRadioButtons Schrift übermalt sich
Verfasst: 20. August 2008 02:17
Hallo,
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):
Ich habe auch schon bei meinem TestWidget am Schluß des RadioButton-Erneuern-Slots ein repaint bzw. update eingebaut, aber selbst das bringt nichts.
Hat jemand bitte einen Tipp?
Danke
Alexander
PS: So sieht das aus: http://qt.venus22.net/alternatives.jpg
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