Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

273
Vistas
¿Cómo acceder a QML Singleton desde el archivo javascript .js?

¿Cómo puede javascript en un archivo .js separado acceder a un singleton QML?

Mi biblioteca de JavaScript quiere leer los valores de configuración almacenados en un singleton que se define en TrConfig.qml :

 // TrConfig.qml pragma Singleton import QtQml 2.0 QtObject { property var myWidth: 234 }

El archivo qmldir contiene

 singleton TrConfig 1.0 TrConfig.qml

Esto funciona bien desde el interior de los archivos .qml simplemente haciendo referencia TrConfig.<fieldname> . Pero en archivos .js después .import TrConfig as TC , hacer referencia a TC.<fieldname> siempre devuelve indefinido.

 // myjslib.js .import QtQml 2.11 as QtQml .import TrConfig as TC function myfunc() { console.log("In myjslib.js myWidth is " + TC.myWidth); // prints "... myWidth is undefined" }

Aquí está el archivo .qml principal (ejecutar con "qml Foo.qml"):

 // Foo.qml import QtQuick import QtQuick.Controls import "myjslib.js" as J Rectangle { width: TrConfig.myWidth // this works height: 100 color: "red" Component.onCompleted: { console.log("Foo onCompleted: myWidth="+TrConfig.myWidth); J.myfunc(); } }

La salida es:

 qml: Foo onCompleted: myWidth=234 qml: In myjslib.js myWidth is undefined

¡Cualquier ayuda sería muy apreciada!

[Actualizado el 6/11/21 para agregar ".importar TrConfig como TC" en el archivo .js]

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda