Stiamo sviluppando la nostra prima applicazione Qt/QML (tecnologia di prova). Mentre la tecnologia sembra molto promettente a colpo d'occhio, abbiamo affrontato così tanti problemi strani inaspettati che quasi abbandonano all'inizio.QML: come specificare il percorso del file immagine relativo alla cartella dell'applicazione
Ecco uno di questi problemi.
Vogliamo le seguenti cartelle layout per la nostra applicazione:
--> ApplicationFolder
|--> qml // QML files (also structured by subfolders)
|--> resources // Application resources (images, sounds, data-files, etc.)
| |--> images // Image resources (also structured by subfolders)
| |--> data // Different data files
| |--> ... // Other resources
|--> Application.exe // Application executable
|--> *.dll // DLLs application depends on
Il problema è che, al fine di specificare file immagine per Image
QML voce dobbiamo usare percorso relativo al file QML ?! Questo è assolutamente folle. Durante lo sviluppo i file a volte si spostano tra le cartelle (si sposta il file QML e si deve correggere tutto il percorso che ha ?!); alcuni file QML diversi devono fare riferimento alla stessa immagine (stessa risorsa immagine ma diverso percorso reale in diversi file QML).
Quindi la domanda è: come specificare il percorso dell'immagine relativo alla cartella dell'applicazione? È possibile a tutti?
Grazie in anticipo!
PS. L'utilizzo del sistema di risorse di Qt (quando le risorse sono incorporate nell'eseguibile) non è un'opzione nel nostro caso. Abbiamo bisogno di risorse non elaborate su disco (compresi i file QML, almeno durante la fase di sviluppo).
PPS. Ho scritto questa domanda dopo aver passato un'intera giornata a risolvere il problema da solo tramite documentazione/google/stackoverflow; nessun successo (la maggior parte degli esempi usa l'incorporamento delle risorse, altri sono troppo semplici e usano solo percorsi relativi).
'Questo è assolutamente folle. Durante lo sviluppo i file a volte si spostano tra le cartelle (si sposta il file QML e si deve correggere tutto il percorso che ha?!); -> Cosa è insano nello sviluppo durante la frase di sviluppo? Ovviamente, se non lo si progetta correttamente, basta fare una programmazione di tipo cargo-cult, potrebbe essere necessario reimplementare le cose con un nuovo design. È anche pazzesco che tu rinomini qualcosa ovunque quando rinomini qualcosa perché ti rendi conto di aver dato un nome sbagliato a una variabile? Dai, Alexey ... :) Sed è tuo amico ... – lpapp
@lpapp Questo è folle perché se il file di immagine rimane nello stesso posto, allora è assolutamente normale che il riferimento a questo file rimanga lo stesso nel codice dell'applicazione e non dipendere dallo spostamento di altre cose. No? Se alcuni file QML si riferiscono ad alcune immagini e questa immagine rimane sempre nello stesso posto, perché è necessario correggere quel QML ogni volta che vuole spostarlo in un'altra cartella? Questo è ciò di cui sto parlando. Quando si usano i file qrc non si ha questo problema, ma con le risorse raw non riusciamo a trovare una soluzione, sfortunatamente. –