Witam
Jak usunąć, zresetować, wyczyścić zawartość QGroupBox i wczytać nową ?
Mam jakiś QFormLayout
QFormLayout * lo = new QFormLayout();
Teraz uzupełniam go pewną zawartością. Niech będzie:
for(int i = 0 ; i < 10 ; i++)
{
form->addRow(new QLabel("Nr. "+QString::number(i)+": ") , new QLineEdit());
}
Ładuje do QGroupBox
QGroupBox *gb = new QGroupBox();
gb->setLayout(form);
No i mam oczekiwany efekt. Następnie potrzebuje zresetować zawartość QFormLayout. Postanowiłem, że skasuje ten obiekt i stworzę go na nowo, o tak:
//jakaś funkcja czyszcząca i definiująca na nowo zawartość form
delete form;
form = new QFormLayout(gbbutton);
for(int i = 0 ; i < 15 ; i++) // teraz 15 zamiast 10 jak wyżej
{
form->addRow(new QLabel("Nr. "+QString::number(i)+": ") , new QLineEdit());
}
gb->setLayout(form);
Logicznie, rzecz biorąc powinno być tak, że pojawi mi się GroupBox z nowym Qformlayout i pojawia się. Tyle, nowy form jest, nałożony na stary (widać, że czcionka się pogrubia). Wygląda to jakby QGroupBox trzymał w pamięci poprzednią wersję form i zamiast ją skasować po linijce delete form, nakłada jedną na drugą, w efekcie otrzymuje jakby 3D QGroupBox :) Jak to rozwiązać ?