JavaScript environment for Qt Quick Ultralite applications

Qt Quick Ultralite is designed with performance and code size in mind. Therefore the QML layer is intended only for visual presentation of an application and business logic of an application should be done in C++. Qt Quick Ultralite provides C++ API which make the inter-operation between QML and C++ a straightforward and boilerplate code free process. For more information, see 集成 C++ 代码采用 QML .

Qt Quick Ultralite does not provide full JavaScript runtime but it provides most commonly used APIs that allow you to write script expressions. If you believe that some important API is missing, contact Qt Professional Services .

JavaScript objects and functions

The Global Object

In the JavaScript The Global Object object, Qt Quick Ultralite supports the following methods:

  • isFinite(x)
  • isNaN(x)


In the JavaScript Math object, Qt Quick Ultralite supports the following methods:

  • sin(v)
  • cos(v)
  • tan(v)
  • asin(v)
  • acos(v)
  • atan2(a, b)
  • sqrt(v)
  • round(v)
  • floor(v)
  • ceil(v)
  • abs(v)
  • max(v1, v2)
  • min(v1, v2)

Math.max and Math.min , you can only use two arguments.

注意: The math operations are done with the float C++ type and might return wrong result if you use them with large integer values.


Only empty Date constructor is supported. There is a known behavior difference that in Qt Quick Ultralite default constructed Date returns elapsed time since when the program was started, instead of current date and time as specified in ECMAScript specification.

In the JavaScript Date object, Qt Quick Ultralite supports the following methods:

  • getHours()
  • getMinutes()
  • getSeconds()


In the JavaScript Number object, Qt Quick Ultralite supports only the the following functions:

  • toString()
  • toFixed(digits)
  • toExponential(digits)
  • isFinite(v)
  • isInteger(v)
  • isNaN(v)


In the JavaScript 字符串 object, Qt Quick Ultralite supports:

  • charAt(pos)
  • length
  • + , += , == ,和 != 运算符。