memorizzare_un_puntatore_in_una_classe_qvariant
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Prossima revisione | Revisione precedente | ||
memorizzare_un_puntatore_in_una_classe_qvariant [2013/03/30 18:23] mickele creata |
memorizzare_un_puntatore_in_una_classe_qvariant [2013/04/11 13:00] (versione attuale) mickele77 |
||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | ~~NEWSFEED~~ | ||
+ | |||
====== Memorizzare un puntatore in una classe QVariant ====== | ====== Memorizzare un puntatore in una classe QVariant ====== | ||
- | E' possibile momorizzare molti tipi di dati in una classe | + | < |
+ | Alla pagina [[http:// | ||
- | Vediamo i dettagli su come procedere. Supponiamo | + | Per chi non fosse pratico della programmazione [[http:// |
+ | |||
+ | Vediamo i dettagli su come procedere. | ||
+ | |||
+ | MyClass * pointer | ||
+ | |||
+ | Possiamo memorizzare il contenuto del puntatore | ||
QVariant v = qVariantFromValue((void *) pointer ); | QVariant v = qVariantFromValue((void *) pointer ); | ||
- | Per recuperare il valore | + | Volendo |
+ | |||
+ | pointer = (MyClass *) v.value< | ||
+ | |||
+ | Possiamo semplificare quest' | ||
+ | |||
+ | ~~READMORE~~ | ||
+ | |||
+ | template <class T> class VariantPtr | ||
+ | { | ||
+ | public: | ||
+ | static T* asPtr(QVariant v) | ||
+ | { | ||
+ | return | ||
+ | } | ||
+ | static QVariant asQVariant(T* ptr) | ||
+ | { | ||
+ | return qVariantFromValue((void *) ptr); | ||
+ | } | ||
+ | }; | ||
- | pointer = (YourClass *) v.value< | + | E' possibile ora riscrivere le linee di codice viste sopra per memorizzazione e recuperare il puntatore dall' |
- | Se volete approfondire l' | + | QVariant v = VPtr< |
+ | Per recuperarlo invece usiamo il codice | ||
+ | MyClass *p1 = VPtr< | ||
memorizzare_un_puntatore_in_una_classe_qvariant.1364664232.txt.gz · Ultima modifica: 2013/03/30 18:23 da mickele