January 4, 2011

Wolf P. Wolf P.
Ant Farmer
354 posts

Einstieg in Model-View-Konzept

Page  
1

Kennt jemand einen leichteren Weg ins Model-View-Konzept als den, diesen ellenlangen Artikel [doc.qt.nokia.com] durchzuarbeiten? Der ist ja sooo demotivierend, vermutlich war der Autor selbst über seine Aufgabe deprimiert. Ein anwendungsbezogener Einstieg wäre meines Erachtens besser, also z.B. den Leser die Erfahrung nachvollziehen zu lassen, wie man mit einem “normalen” QListWidget an Grenzen stößt.

107 replies

January 4, 2011

Gerolf Gerolf
Area 51 Engineer
3210 posts

Also, ich weiß net ob’s kürzer ist, aber ich hab mit dem Buch “GUI programming with Qt4” angefangen, und fand das ganz gut. Da ist auch M-V ganz gut erklärt, ist aber schon ne weile her….

 Signature 

Nokia Certified Qt Specialist.
Programming Is Like Sex: One mistake and you have to support it for the rest of your life. (Michael Sinz)

January 4, 2011

Wolf P. Wolf P.
Ant Farmer
354 posts

Gerolf, bei der Gelegenheit: “GUI programming with Qt4” – kannst du das empfehlen? Ich habe bislang nur ziemlich schlechte Kritiken zu Qt-Büchern gelesen und deshalb bislang auf jeglichen Kauf verzichtet.

January 4, 2011

Gerolf Gerolf
Area 51 Engineer
3210 posts

Hi Wolf,

ich muss sagen, ich finde die Bücher sehr gut. Ich hab damals mit der version für 3.x Qt gelernt, und fand es sehr gut. Die Version für 4.x (C++ GUI Programming with Qt 4, first edition) habe ich dann als es rauskam auch nochmal durchgearbeitet und ich finde das Buch sehr gut und verständlich.

By the way:

“Advanced Qt Programming” lese ich gerade, und bis jetzt gefällt mir das auch ganz gut.

Was ich als Nachschlagewerk und zum spezifischen Problem anschauen auch ganz guit finde ist:

Practical Qt [qt.nokia.com] von Matthias Kalle Dalheimer

Bis jetzt habe ich bei Qt Büchern immer die Originalversion genommen (englisch) und die sind meines erachtens gut —> Ja ich würde sie empfehlen :-)

 Signature 

Nokia Certified Qt Specialist.
Programming Is Like Sex: One mistake and you have to support it for the rest of your life. (Michael Sinz)

January 4, 2011

Volker Volker
Robot Herder
5428 posts

Problem bei der M-V-Programmierung mit Qt ist, dass es definitiv kompliziert ist :-/

Ich habe den o.g. Artikel noch nicht gelesen, der scheint aber wirklich alles abzuhandeln. Geht’s Dir um einen bestimmen Aspekt? Meistens hakt es nämlich an der Programmierung des ersten eigenen Modells (QAbstractItemModel-abgeleitete Klasse). Bei den Delegates kommt man meistens mit etwas try-and-error und spicken bei den Trolls weiter, beim Model hilft das leider nichts.

January 4, 2011

Wolf P. Wolf P.
Ant Farmer
354 posts

Ich finde, eingangs fehlt es an einem Motivierungsabsatz: die Stelle, die mich ganz gierig macht, den Artikel zu verschlingen. Stünde dort ein dem Anschein nach leichtgewichtiges Beispiel, das es dann letztlich doch in sich hat, so dass man nachweislich mit einfacheren Mitteln scheitert, dann wäre das vermutlich hoch-motivierend.

Und ich nehme an, es ist nicht so kompliziert zu verwenden, eher kompliziert alles zu verstehen. Also sollte ich vielleicht eher nach einem einfachen how-to suchen (oder eins schreiben? würdest du helfen?)

January 4, 2011

Gerolf Gerolf
Area 51 Engineer
3210 posts

Hast du dir mal die examples angesehen? Die sind glaub ich auch ganz gut.

Der witz is ja, du kannst mit einem einfachen Table model (read-only) anfangen, und das stück für stück ausbauen (daten editieren, zeilen hinzufügen/löschen, Spalten hinzufügen / löschen, …).

Die meisten Probleme, die ich bisher bei Leuten gesehen haben, ist beim editieren / verändern der Daten:

Es wird vergessen beginXXX endXXX oder emit dataChanged(a,b) aufzurufen.

Und kompliziert wird es bei editierbaren Tree Models und proxys :-)

Aber wir können schon einhow-to schreiben, kp.

 Signature 

Nokia Certified Qt Specialist.
Programming Is Like Sex: One mistake and you have to support it for the rest of your life. (Michael Sinz)

January 4, 2011

Volker Volker
Robot Herder
5428 posts

Drag’n‘Drop macht sehr viel spass :-) Ich sag’ nur dangling pointers, persistent indexes etc.pp. Ein gutes deutsches HowTo wäre aber sicher nicht verkehrt. Und. ggf. mal mit einem Listen-Modell anfangen und erst später auf ein Tree-Modell erweitern.

January 4, 2011

Wolf P. Wolf P.
Ant Farmer
354 posts

Ein de-tutorial fänd ich gut – übersetzen ins Englische könnten wirs, wenns fertig ist. Wäre z.B. folgendes ein guter Kandidat: einen Logdatei-Viewer zu implementieren, der mit der Darstellung einer bereits existierenden Datei zunächst gut zu Rande kommt, auf Grund der Forderung nach Aktualisierung und Filtermöglichkeiten aber später an seine Grenzen stößt (betrachtet es als einen Schuss ins Blaue…) – könnte das funktionieren? (als Aufhänger für ein How-To mein ich?)

January 5, 2011

Gerolf Gerolf
Area 51 Engineer
3210 posts

Wenn du jetztdas ganze nicht als datei nimmst, sondern als fenster für logs die mit qDebug kommen, wär’s fast schöner, weil es dann gleich dynamisch werden kann :-)

Aber prinzipiell ist das ein ganz guter anfang.

 Signature 

Nokia Certified Qt Specialist.
Programming Is Like Sex: One mistake and you have to support it for the rest of your life. (Michael Sinz)

January 5, 2011

Wolf P. Wolf P.
Ant Farmer
354 posts

Beide Varianten sollten vorkommen. Das Tutorial könnte mit einer einspaltigen Liste beginnen, die einfach nur aus einer Log-Datei geladen wird. Und dann kommen Wünsche dazu:

  • Spalten (damit Wechsel auf Tabelle)
  • Sortierbarkeit
  • Filterbarkeit und…

Bums!

  • Alternative Quelle(n)

ich glaube so eine Anleitung würde ein Neuling durchlesen wollen, die super-einfach anfängt und Stück für Stück ans Eingemachte geht. Ist ja auch realistisch: kennen wir sie nicht alle die Forderungen nach einem ganz einfachen Einbau, bloß eine Liste, die – sobald der Benutzer dann davor sitzt und “Blut leckt” – wachsen und gedeihen ;) ?

January 5, 2011

Gerolf Gerolf
Area 51 Engineer
3210 posts

Die idee ist gut, ich denke, man sollte das irgendwie als verketten artikel bauen (Teil 1 – Teil X).

Nachdem du nach einer einführung gefraght hast:

Sollen wir dir Aufgaben stellen und du löst sie fg?

 Signature 

Nokia Certified Qt Specialist.
Programming Is Like Sex: One mistake and you have to support it for the rest of your life. (Michael Sinz)

January 5, 2011

Wolf P. Wolf P.
Ant Farmer
354 posts

Wäre eigentlich das Vernünftigste. Ich meine, zu Qt hab ich wirklich noch nicht ein so inniges Verhältnis, kenne aber bereits einige Frameworks. Vielleicht die besten Voraussetzungen für ein realitätsnahes Umsteiger-Tutorial. Auch die Gliederung halte ich für gut: so um die max. 10 Seiten im Wiki, die können ja ruhig zum Ende hin etwas zulegen an Größe (und Speed, damit’s nicht langweilt).

Meine Lust darauf wächst ;) leider meine Zeit nicht, aber mal sehen…

January 5, 2011

Volker Volker
Robot Herder
5428 posts

Tja, die Sache mit der Zeit immer… kenne ich nur zu gut.

Was mir noch fehlt, ist eine gute Idee für das Modell. Muss ja auch auf allen drei Plattformen (Linux, Win, Mac) laufen.

January 5, 2011

Gerolf Gerolf
Area 51 Engineer
3210 posts

Sach einfach Bescheid, das bekommen wir schon hin.

 Signature 

Nokia Certified Qt Specialist.
Programming Is Like Sex: One mistake and you have to support it for the rest of your life. (Michael Sinz)

January 5, 2011

Panke Panke
Lab Rat
42 posts

Man könnte eine XML-Datei (oder S-Ausdrücke, oder .. ) in einem Baum darstellen. Muss ja nicht für Baum/Liste/Tabelle das gleiche Beispiel sein.

Page  
1

  ‹‹ SPON über Nokia      RSS Feed für die Gruppen-Übersicht ››

You must log in to post a reply. Not a member yet? Register here!