Qt: Mehrere Buttons, aber fast gleiche Funktion
-
Ich bin mir nicht sicher, aber gibt es nicht so eine Klasse, womit ich das ganz gut haendeln kann?
Ansonsten, was haette ich noch fuer Optionen, sprich wie realisiert ihr das?
Ich koennte ja in der Funktion mir den Ausloeser des Events holen, nur ist das empfehlenswert?
Edit:
Mir faellt da gerade noch die andere Frage ein:
Wenn ich von mehreren Labels (so an die 30) den Textinhalt loeschen moechte, wie mache ich das denn am besten? Ist doch bestimmt kein guter Stil da 30x hinzuschreiben, das er den jeweiligen Inhalt loeschen soll.Gruss + Danke meissner
-
Merkst dir die sachen in einem Array oder QList oder irgendeinem Container. Dann geht es mit einer Schleife drumherum.
-
zur ersten frage:
klasse von qpushbutton ableiten und den gleichen teil an code in die abgeleitet klasse setzten.zur zweiten frage:
wie ponto gesagt hat: wenn die größe des array unveränderbar statisches array, sonst QList
-
Ok, das mit der 2.Frage funktioniert schonmal wunderbar. Danke!
Bei dem ersten Problem, habe ich mich jetzt entschieden, QButtonGroup zu nutzten:
buttons = new QButtonGroup(); buttons->addButton(einer1, 1); buttons->addButton(zweier1, 2); ... connect(buttons, SIGNAL(buttonClicked(QAbstractButton *)), this, SLOT(createMenus()));
Der Inhalt des SLOT sieht erstmal nur so aus:
qobject_cast<QPushButton *>(sender())->setText("blubb");
Nur ich bekomme ein Segmentation fault wenn ein Button aus der Gruppe geklickt wurde.
Was mache ich falsch? Oder ist das jetzt voll der falsche Ansatz und ich sollte lieber den von Emperor_L0ser nachgehen?