È sicuro utilizzare la classe non documentata QObjectUserData
e la QObject::setUserData
in Qt?Informazioni sull'utilizzo di una classe non documentata in Qt
risposta
Invece si potrebbe usare QObject::setProperty
, questo consente di impostare non solo le proprietà dichiarate del tempo di compilazione, ma anche le proprietà dinamiche che non devono essere dichiarate prima dell'uso. Ciò consente di allegare valori arbitrari a QObjects in fase di runtime, in modo simile ai dati dell'utente.
In generale non si deve fare affidamento su API non documentate. Se hai intenzione di aggiornare Qt, non usarlo!
Le classi non documentate sono in genere classi interne e non fanno parte dell'API Qt. Ciò significa che non viene fornita alcuna garanzia che l'API non cambierà o che la classe venga completamente rimossa nella successiva versione di Qt. Ad esempio, qobject_p.h contiene il seguente avviso:
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp. This header
// file may change from version to version without notice, or even be removed.
//
// We mean it.
Quindi, se si utilizza API interna, siete da soli, e potrebbe essere necessario correggere/reimplementare che si stava eseguendo quando si passa alla prossima versione di Qt .
- 1. Ottenere informazioni di memoria con Qt
- 2. Bash tilde * sottostringa * espansione - funzionalità non documentata?
- 3. Dov'è la precedenza dell'operatore documentata per la classe .NET Regex?
- 4. Questa sintassi RAISERROR non documentata è mai stata documentata e successivamente deprecata?
- 5. Informazioni sull'eliminazione, rimozione di widget e layout in Qt 4
- 6. come aggiungere documentazione alla libreria di produzione non documentata
- 7. Serializzare la mia classe personalizzata in Qt
- 8. Utilizzo di una DLL basata su Qt in un'applicazione non-Qt
- 9. non documentata VBA parole chiave speciali - Circle e Scala
- 10. Dove si svolge Do ... Loop senza una condizione documentata?
- 11. Codice C++ di test unitario (non-Qt) in Qt Creator?
- 12. Cosa c'è di sbagliato in una classe interna che non usa una classe esterna in Java?
- 13. Rimozione di una cartella non vuota in Qt
- 14. Dichiarare classe Qt nel file di intestazione
- 15. Sopprimere l'avviso doxygen per la funzione membro non documentata, ma lasciare la sinossi in posizione
- 16. sconosciuta informazioni di classe in Interface Builder file di
- 17. Qt fornisce una classe che rappresenta un indirizzo IP?
- 18. Una domanda newbie in Qt
- 19. Informazioni sull'utilizzo di non operatore in: selezionato
- 20. Una classe interna di una classe template può essere una classe non template?
- 21. Metodi non finali in una classe finale
- 22. Fare una HTTP GET in Qt
- 23. Sostituzione di una classe componente in delphi
- 24. EnableCrossAppRedirects: dove viene documentata la funzionalità del dominio incrociato?
- 25. Informazioni sul conteggio dei riferimenti della variabile di classe
- 26. dati multithread pipeline di elaborazione in Qt
- 27. Come può una classe non statica chiamare un altro metodo di una classe non statica?
- 28. Informazioni sull'utente in Nancy
- 29. Puntatori intelligenti in Qt
- 30. QT: richiama il nome classe di un oggetto
Sembra che sia un residuo di Qt 4.2? Vorrei consigliare di utilizzare una versione più recente di Qt, come 4.7. Che cosa esattamente vuoi fare con esso? –