QListWidget oder QListView mit QItemDelegate?
Lassen Sie uns sagen, ich brauche zum anzeigen einer Liste von Elementen. Jedes Element enthält ein QPushButton ein Bild und etwas text. Wenn ein Benutzer auf die Schaltfläche klickt soll etwas passieren ( also ich brauche das signal bekommen ). Was ist der richtige Weg, um dies zu implementieren, die in Qt?
Nach einiger Lektüre, verstehe ich, dass wenn ich ein QListWidget und QListWidgetItem, kann dies erreicht werden. Ich kann jede Unterklasse QListWidgetItem nach meinen Bedürfnissen, und legen Sie Sie in der Liste widget.
Allerdings habe ich auch gelesen, dass ein geeigneter Ansatz ( MOdel-View-Ansatz ), ist die Verwendung einer QlistView, gepaart mit einem QItemDelegate. Aber wenn ich mit QItemDelegate, es scheint, dass ich kann nur malen der widgets. Wie bekomme ich die push-button-event?
Sorry für diesen Riesen Beitrag. Ich bin irgendwie verwirrt über das gesamte Konzept, Wann ein QListWidget /QListView.
InformationsquelleAutor der Frage Mahadevan Sreenivasan | 2011-05-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
QListWidget
ist im wesentlichen eine angepasste version vonQListView
konzipiert für die standard-Fälle von list-widgets, wenn alles, was Sie tun, ist einfach nur Bild-oder text-Elemente in einer Liste und die Beziehung mit dem zugrunde liegenden Modell ist unkompliziert.Mit
QListWidget
und seine zugehörige KlasseQListWidgetItem
können Sie z.B. einfügen und entfernen von Elementen sehr einfach. Aber wenn Sie einfügenQPushButtons
dann Sie dies nicht verwenden können, so dass Sie könnte genauso gut mitQListView
und Ihre (geerbte) Methoden für die Einstellung der widget für einen bestimmten index.Als für das signal, da Sie erstellt werden, die
QPushButton
s, benutzen Sie einfachdamit umzugehen.
InformationsquelleAutor der Antwort Matt Phillips
Abweichen von Matt ' s Antwort, es scheint, Sie können Ihr eigenes widget auf einer
QListWidgetItem
wie bereits in diesem post auf qt-project.org: http://qt-project.org/forums/viewthread/17953.Dies könnte nützlich sein, wenn Sie nur ein paar Elemente zur Anzeige und sind nicht daran interessiert, in die sich die Mühe machen zu Kochen, bis eine model-Klasse.
InformationsquelleAutor der Antwort mydoghasworms