- Qt 6.5
- Qt QML
- C++ Classes
- QQmlScriptString
- Qt 6.5.1 Reference Documentation

# QQmlScriptString Class

The QQmlScriptString class encapsulates a script and its context. More...

Header: | #include <QQmlScriptString>
CMake: | find_package(Qt6 REQUIRED COMPONENTS Qml) target_link_libraries(mytarget PRIVATE Qt6::Qml)
qmake: | QT += qml

- List of all members, including inherited members

## Public Functions

| QQmlScriptString()
| QQmlScriptString(const QQmlScriptString &other)
bool | booleanLiteral(bool *ok) const
bool | isEmpty() const
bool | isNullLiteral() const
bool | isUndefinedLiteral() const
qreal | numberLiteral(bool *ok) const
QString | stringLiteral() const
bool | operator!=(const QQmlScriptString &other) const
QQmlScriptString & | operator=(const QQmlScriptString &other)
bool | operator==(const QQmlScriptString &other) const

## Detailed Description

QQmlScriptString is used to create QObject properties that accept a script "assignment" from QML.

Normally, the following QML would result in a binding being established for the `script` property; i.e. `script` would be assigned the value obtained from running `myObj.value = Math.max(myValue, 100)`

     MyType {
         script: myObj.value = Math.max(myValue, 100)
     }

If instead the property had a type of QQmlScriptString, the script itself – myObj.value = Math.max(myValue, 100) – would be passed to the `script` property and the class could choose how to handle it. Typically, the class will evaluate the script at some later time using a QQmlExpression.

     QQmlExpression expr(scriptString);
     expr.evaluate();

See also QQmlExpression.

## Member Function Documentation

### QQmlScriptString::QQmlScriptString()

Constructs an empty instance.

### QQmlScriptString::QQmlScriptString(const QQmlScriptString &other)

Copies other.

### bool QQmlScriptString::booleanLiteral(bool *ok) const

If the content of the QQmlScriptString is a boolean literal, returns the boolean value and sets ok to true. Otherwise returns false and sets ok to false.

### bool QQmlScriptString::isEmpty() const

Returns whether the QQmlScriptString is empty.

### bool QQmlScriptString::isNullLiteral() const

Returns whether the content of the QQmlScriptString is the `null` literal.

### bool QQmlScriptString::isUndefinedLiteral() const

Returns whether the content of the QQmlScriptString is the `undefined` literal.

### qreal QQmlScriptString::numberLiteral(bool *ok) const

If the content of the QQmlScriptString is a number literal, returns that number and sets ok to true. Otherwise returns 0.0 and sets ok to false.

### QString QQmlScriptString::stringLiteral() const

If the content of the QQmlScriptString is a string literal, returns that string. Otherwise returns a null QString.

### bool QQmlScriptString::operator!=(const QQmlScriptString &other) const

Returns `true` if this and the other QQmlScriptString objects are different.

See also operator==().

### QQmlScriptString &QQmlScriptString::operator=(const QQmlScriptString &other)

Assigns other to this.

### bool QQmlScriptString::operator==(const QQmlScriptString &other) const

Returns `true` if this and the other QQmlScriptString objects are equal.

See also operator!=().