Qual è il modo migliore per includere fonti QML nella vostra costruzione applicazione?

StackOverflow https://stackoverflow.com/questions/3905528

  •  29-09-2019
  •  | 
  •  

Domanda

sto costruendo un programma con le tecnologie di interfaccia utente miste (per lo più C ++ con alcuni componenti QML incluse).

Supponiamo che io sono un elemento QML che voglio mostrare all'interno di un QDeclarativeView utilizzando la sintassi simile a questo:

view = new QDeclarativeView(QUrl::fromLocalFile("foobar.qml"));

ho aggiunto foobar.qml al mio progetto in Qt Creator che aggiunge automaticamente questa riga al file .pro:

OTHER_FILES += \
    foobar.qml

Ora, ci si aspetterebbe tra cui il file nel progetto implicare che dovrebbe essere copiato nella cartella di compilazione, ma non è così, ed ottengo un errore circa foobar.qml mancante nella cartella generazione quando eseguo il applicazione. Non vorrei aggiungere passaggi generazione personalizzata solo per copiare fonti QML intorno, quindi c'è qualche modo "de facto" di fare questo?

È stato utile?

Soluzione

Una soluzione ovvia sarebbe quella di includere la fonte QML tramite sistema di risorse di Qt . Questo è accennato nella pagina doc su Distribuzione applicazioni basate su QML .

EDIT: Ecco il soluzione completa . Dovrei imparare a RTFM.

Altri suggerimenti

Non si utilizza ombra costruisce? Se è così l'applicazione è costruire in una directory parallela al codice sorgente. Per la prova è possibile modificare la directory di lavoro in Qt Creator (Progetti nella barra a sinistra, quindi Esecuzione di vostro target build). L'utilizzo di risorse sembra infallibile, ma richiede una ricostruzione ogni volta che una delle risorse vengono modificati.

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