Domanda

Non sono uno sviluppatore di applicazioni professionali, quindi probabilmente non ho familiarità con il modello / vista modello di progettazione come dovrei essere. Tuttavia, sto cercando di usarlo in un'app per hobby e fallisco miseramente. Il problema principale che sto riscontrando è che i dati che sto cercando di visualizzare e modificare non sono facilmente rappresentati con un'estensione di QAbstractItemModel .

I dati che sto cercando di incapsulare sono essenzialmente un elenco di numeri interi coltivabili / restringibili, mutabili. Devo abbandonare il modello / modello di visualizzazione per dati come questo? Sembra più appropriato quando le "dimensioni" dei dati sono fissi. In caso contrario, esiste un esempio di implementazione a cui potrei dare un'occhiata o un buon libro che dovrei prendere?

Saluti.

È stato utile?

Soluzione

Vorrei guardare QAbstractListModel . Sembra un modello più pertinente del QAbstractItemModel di base.

Nell'esempio esiste anche una visione piuttosto diversa di quel modello: Puzzle

Se hai bisogno di uno sguardo di livello superiore a Model / View, dai un'occhiata a questo .

Altri suggerimenti

QAbstractItemModel è solo uno dei modi, certamente molto limitati, di implementare il modello di progettazione Modello / Vista. Se vedi che la tua situazione non si adatta perfettamente, non preoccuparti di lavorare troppo duramente per forzarla.

Un approccio migliore per te sarebbe probabilmente quello di estrarre la tua classe Model con le tue classi View e abbandonare QAbstractItemModel . C'è molto di più in questo modello di progettazione rispetto allo strano sapore implementato in QT e quel sapore funziona bene solo per applicazioni molto particolari.

Ti suggerisco di leggere ancora un po ' e di progettare la tua configurazione Model-View. È molto probabile che il tuo design di classe sia più pulito e meglio compreso se ne tiri fuori il tuo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top