Ich arbeite zum ersten Mal mit der Qt-Bibliothek. Ich frage mich, ob es eine Möglichkeit gibt, ein Qt-Widget zu unterklassifizieren, so dass Sie alle Nachrichten abfangen können, die an dieses Widget übergeben werden, es ist möglich mit Windows, aber ich weiß nicht, wie es geht, oder ob es mit Qt möglich ist. Gibt es eine Alternative?Qt-Bibliothek, Unterklassierungsfenster zum Abfangen von Nachrichten?
Das betreffende QWidget ist vom Typ Chat und hat den Typ QList. Wie ist es möglich, mit der QWidget-Bibliothek alles abzufangen, was zu einer Liste hinzugefügt wird, bei der es sich um ein Widget handelt?
Danke.
Noah, nehmen wir an, ich hatte ein QWidget namens 'chat' und das selbst enthielt ein qwift-Steuerelement, das eine Liste war, wie würde ich jedes Mal abfangen, wenn es der Liste hinzugefügt wird? Oder könnte ich jedes Mal, wenn ein Gegenstand an die Liste angehängt wurde, benachrichtigt werden, damit ich den letzten Gegenstand vorlesen kann? Zu Punkt 3, ich denke, es war nur meine Sprachwahl (gesprochen) - ich habe wirklich darüber gesprochen, etwas in die Mitte einzufügen, damit ich auch die Daten bekomme, wenn es zur qwidget-Liste hinzugefügt wird. – flavour404
@ Flavour404 wäre es nicht möglich, das Listenobjekt einfach zu einem privaten Mitglied Ihres Chat-Widgets zu machen und eine öffentliche Elementfunktion MyAddItemToList (...) hinzuzufügen, die jeder, der ein Element zur Liste hinzufügen möchte, aufrufen muss (anstatt den Listeneintrag direkt hinzuzufügen)? Fügen Sie Ihrer MyAddItemToList-Methode die zusätzliche Logik hinzu, die Sie benötigen. Das sollte ausreichen, es sei denn, jemand verwendet widget-travers-traversal oder andere fragwürdige Methoden, um Elemente hinter dem Rücken zu Ihrer Liste hinzuzufügen ... was sie wahrscheinlich nicht tun sollten. –
Wenn du wirklich QList meinst, dann nein. QList ist kein Widget, es ist ein Container und erzeugt keine Signale (es kann nicht ... Q_OBJECT-Objekte können keine Vorlagen sein). Wenn Sie QListWidget oder QListView dann ja meinen, können Sie sich mit seinem Modell verbinden. Welches Signal wird spezifisch für Ihre Bedürfnisse sein? Siehe: http://doc.qt.nokia.com/4.7/qabstractitemmodel.html –