Seite 1 von 1

VBox mit QCommandLinkButton als Widget?

Verfasst: 12. Juni 2014 16:12
von kalsan
Hallo allerseits!
Ich habe ein VBoxLayout, welches ich mit QCommandLinkButton s füllen möchte. Jeder Button entspricht einem Eintrag in einem Model (zur Vereinfachung, nehmen wir an es sei eine einfache Liste mit QStrings).
Wenn nun ein Eintrag im Model geändert wird, soll auch der Button automatisch seine Bezeichnung ändern. Wird ein Eintrag gelöscht, soll der zugehörige Button verschwinden. Wird ein Eintrag hinzugefügt, soll ein neuer Button mit entsprechendem Namen erscheinen.
Beim Klicken eines Buttons soll der Eintrag im Model, den der Button darstellt, als SIGNAL emittiert werden (und nicht nur dessen QString, sondern eine Referenz auf das gesamte Objekt!).
Momentan geschieht das alles manuell, d.h. ich suche vom MainWindow aus in einer QList<CommandLinkButton> nach dem entsprechenden Knopf und update oder lösche diesen. Es wäre jedoch viel eleganter, wenn das alles in einem Widget geschehen würde, z.B. eine ListView, die anstatt der normalen Liste eine Liste von QCommandLinkButtons anzeigt. Die von der ListView zurückgegebene Selection könnte dann anzeigen, welcher Knopf zuletzt gedrückt wurde.
Wie mache ich sowas am effizientesten?
lg und vielen Dank im Voraus,
Kalsan