folgendes Problem habe ich wieder mal
Ich habe ein Dialog welcher 4 buttons ein paar textedits und labels enthaelt.
Nun möchte ich, dass wenn einer der Buttons geklickt wurde, die buttons in einer random anordnung wieder erscheinen. Das heisst, wo bt1 war soll bt2 sein wo bt 2 war soll bt4 sein, quasy eine interne random vertauschung der buttons.
Ich habe versucht die Buttons in ein GridLayout zu packen, und dann 4 layouts zu definieren die quasy eine unterschiedliche "addWidget" reihenfolge darstellen.
Code: Alles auswählen
//im Konstruktor des Dialogs:
//
QVBoxLayout *buttonLayout2 = new QVBoxLayout;
buttonLayout2->addWidget(ui->btEins);
buttonLayout2->addWidget(ui->btZwei);
buttonLayout2->addWidget(ui->btDrei);
buttonLayout2->addWidget(ui->btVier);
QVBoxLayout *buttonLayout3 = new QVBoxLayout;
buttonLayout3->addWidget(ui->btDrei);
buttonLayout3->addWidget(ui->btEins);
buttonLayout3->addWidget(ui->btVier);
buttonLayout3->addWidget(ui->btZwei);
ui->gridLayout->addLayout(buttonLayout2,3,3);
Ich kann im Konstruktor ein addlayout fuer gridlayout vornehmen, dann zeigt er mir auch die buttons an wie ich Sie definiert habe (im layout) -
Leider bin ich aber nicht in der lage dass ich "on btEins clicked" ein neues Layout von Gridlayout zuweisen kann ? In der Doku habe ich gelesen, dass ich das alte Layout erst löschen muss, mit delete ui.gridLayout.layout(); hatte ich aber leider kein Erfolg .
Kann ich ueberhaupt das Mainframe (den Dialog) einzeln updaten ? das heisst, kann ich da theoretisch ueberhaupt sagen, setze dem "gridlayout_1" ein neues Layout zu Grunde ?
Gibt es vllt. eine ganze andere Lösung auf die ich noch nicht gekommen bin ?
Sorry für meine etwas verwirrte Darstellung aber so siehts derzeit in meinem Kopf aus
Merci im Voraus
Gruss
Aenni