qual è il modo corretto di ricaricare il file qml su QQuickView? Sto usando Qt Quick 2.1 e sto provando a scrivere un semplice programma che carica un file qml e lo visualizza. Attualmente lo sto creando creando un QQuickView e quando voglio ricaricare il file qml sto cancellando quello vecchio e ne sto creando uno nuovo. Qual è il modo corretto di farlo? chiamare QQuickView :: setSource con il nuovo file qml (o il file qml modificato) non ha funzionato per me.Come ricaricare il file qml su QQuickView
risposta
È possibile utilizzare il seguente (supponendo che si trovi in una sottoclasse di QQuickView
):
QUrl tmp = source();
setSource(QUrl());
engine()->clearComponentCache();
setSource(tmp);
Si può fare le sue vie:
Creare un main.qml (il nome può essere qualsiasi cosa) di file, all'interno del quale, si sarà in realtà di carico e scarico altri file QML.
Quindi utilizzare qml loader element per caricare/scaricare (aggiornare se possibile) qualsiasi altro file.
In realtà ho provato questo e non ha funzionato, A causa del meccanismo di cache del QQmlEngine doesn Mi preoccupo delle modifiche apportate all'interno del file qml. Per risolvere questo ho bisogno di cancellare la cache come descritto nella risposta precedente. – otto
- 1. Come prendere screenshot Qt/QML
- 2. Crea elemento QML in C++?
- 3. QML: come gestire il mouse?
- 4. Come distribuire il plugin qt5 qml su Android?
- 5. QML cambia visualizzazione su Click
- 6. dichiarare la proprietà globale in QML per altri file QML
- 7. Qt QML da QML a C++ QImage su Android
- 8. Come far ricaricare automaticamente il file TAGS da Emacs?
- 9. Rileva cambio di file, offerta di ricaricare il file
- 10. utilizzando il caricatore in qml
- 11. Rendering OpenGL su un elemento QML
- 12. Come ricaricare gdbinit?
- 13. Come imitare un componente QML
- 14. Come riutilizzare il codice in QML
- 15. Come ripristinare il file in Visual Studio 2010 (ricaricare il file dal disco)
- 16. Condividere un oggetto tra file QML
- 17. Come reagire a un pulsante QML fare clic su C++
- 18. QML nell'app C++ o viceversa
- 19. Riprendi gsutil sembra ricaricare i file
- 20. Come forzare tomcat a ricaricare file classe/guerra recentemente compilati
- 21. Come ricaricare automaticamente Django quando i file cambiano?
- 22. Come ricaricare/aggiornare app.config?
- 23. Come ricaricare TreeStore?
- 24. Come ricaricare più pjax
- 25. Alternativa al prompt di TextPad per ricaricare il file
- 26. Come faccio a leggere i contenuti FILE in QML?
- 27. Come posso trovare errori di sintassi nei file QML?
- 28. Forza il browser per ricaricare index.htm
- 29. Come modificare il genitore temporaneo di un Dialogo/Finestra QML?
- 30. QML Immagine liscia proprietà non funzionante
ha funzionato. Pertanto, se si utilizza setSource con un file già utilizzato in precedenza, Qt utilizza il suo meccanismo di cache e non si preoccupa delle modifiche apportate all'interno del file qml. se si desidera che QQuickView ricolleghi il file qml, è necessario cancellare la cache QQmlEngine. È davvero d'aiuto, grazie mille. – otto
Questa funzione motore viene visualizzata dai documenti per cancellare * tutta * la cache nell'intera interfaccia Qt Quick, il che potrebbe essere un problema se tutto ciò che si desidera è ricaricare un singolo oggetto QQuickView. Suona bene? –
Sto usando WebView su QML e voglio distruggere tutti i cookie e i dati memorizzati. Ma engine() -> clearComponentCache(); setSource (source()); non aiuta – Robotex