2 Stimmen

Ist das Entwurfsmuster der Qt Model/View-Programmierung begrenzt?

Ich lese gerade über Modell/Ansichts-Programmierung Entwurfsmuster, aber ich verstehe nicht, wie man ein Modell definiert. Mein Modell sollte von QAbstractItemModel erben? Wenn ja, denke ich, es ist sehr begrenzt, weil meine Modelle Klasse könnte nicht von einem anderen Modell Klasse erben.

2voto

Mat Punkte 195740

C++ hat Mehrfachvererbung, so dass Ihre Modelle technisch gesehen könnte sowohl von den Qt-Modell-Basisklassen als auch von etwas anderem ableiten.
Davon abgesehen ist die Mehrfachvererbung ziemlich schwierig (für mich jedenfalls), die Zusammensetzung ist leichter zu bewerkstelligen.

Eine Möglichkeit, Ihre ORM-Modellklassen mit denen von Qt zu "verschmelzen", besteht darin, eine Qt-Modellklasse zu erstellen, die eines (oder mehrere) der Modelle Ihres ORMs als Mitglied hat. Das Qt-Modell würde im Wesentlichen alle Anfragen an Ihr ORM-Modell weiterleiten. Das Qt-Modell wäre nur ein "Adapter". Dadurch bleibt Ihr ORM-Code unabhängig vom GUI-Toolkit, was im Allgemeinen gut ist.

Sehen Sie sich unbedingt die Referenz zur Unterklassifizierung des Modells für die Qt-Seite der Dinge.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X