Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [QML] Problema import javascript

    ciao!

    ad un mio progetto QML, ho aggiunto un file javascript.
    avendolo creato direttamente dentro qtcreator, mi è stato automaticamente creato nella cartella Other files.
    nel mio file main.qml ho fatto così:
    codice:
    import QtQuick 2.6
    import QtQuick.Controls 1.5
    import "script.js" as Script
    ......................................
    ma ottengo questo errore:
    codice:
     QML debugging is enabled. Only use this in a safe environment.
     QQmlApplicationEngine failed to load component
     qrc:/main.qml:3 Script qrc:/script.js unavailable
     qrc:script.js:-1 File not found
    sinceramente mi ricordo di aver già fatto una cosa del genere anni fa, e mi ricordo che aveva funzionato.
    invece adesso non riesco a capire che cosa non vada.
    qualche idea??

  2. #2
    Non sono esperto di QML, ma ad occhio se includi un file .js da un .qml che sta nelle risorse, si aspetta di trovare anch'esso nelle risorse (vedi che sta cercando qrc:/script.js); prova ad aggiungere anche script.js al file di risorse QRC.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    Non sono esperto di QML, ma ad occhio se includi un file .js da un .qml che sta nelle risorse, si aspetta di trovare anch'esso nelle risorse (vedi che sta cercando qrc:/script.js); prova ad aggiungere anche script.js al file di risorse QRC.
    ciao!

    ho provato a spostarlo, ma qtcreator non me lo fa spostare.
    inoltre, l'aggiunta del file in Other files lo fa in automatico.
    anche se provo ad aggiungerlo specificatamente nella directory Resources.

    però ho visto che nel file .pro ha aggiunto questa riga:
    codice:
    DISTFILES += \ script.js
    inoltre ho riletto 2000 vole la documentazione, ma sembra proprio che dovrebbe funzionare senza problemi come sto facendo.
    ad esempio qua: http://doc.qt.io/qt-5/qtqml-javascript-imports.html

  4. #4
    cmq c'è un problema generale.
    perchè se io provo a copiare il file script.js sul desktop e a fare così:
    codice:
    import QtQuick 2.6
    import QtQuick.Window 2.2
    import "/home/matte/Desktop/script.js" as Script
    ...................
    ottengo lo stesso errore:
    codice:
      QML debugging is enabled. Only use this in a safe environment.
     QQmlApplicationEngine failed to load component
     qrc:/main.qml:3 Script qrc:/home/matte/Desktop/script.js unavailable
     qrc:/home/matte/Desktop/script.js:-1 File not found
     
    
     The program has unexpectedly finished.
    eppure il file c'è:
    codice:
    $ ls -l /home/matte/Desktop/
    totale 272
    -rw-r--r-- 1 matte matte     22 18 apr 12.42 script.js
    possibile un bug di qtcreator??

  5. #5
    ok, mi sa che te intendevi questo:
    codice:
    <RCC>
        <qresource prefix="/">
            <file>main.qml</file>
            <file>MainForm.ui.qml</file>
            <file>script.js</file>
        </qresource>
    </RCC>
    adesso funziona!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.