PySide6.QtQml.QQmlExpression¶
- class QQmlExpression¶
- The - QQmlExpressionclass evaluates JavaScript in a QML context. More…- Synopsis¶- Methods¶- def - __init__()
- def - clearError()
- def - columnNumber()
- def - context()
- def - engine()
- def - error()
- def - evaluate()
- def - expression()
- def - hasError()
- def - lineNumber()
- def - scopeObject()
- def - setExpression()
- def - sourceFile()
 - Signals¶- def - valueChanged()
 - Note - This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE - Detailed Description¶- For example, given a file - main.qmllike this:- The following code evaluates a JavaScript expression in the context of the above QML: - QQmlEngine *engine = new QQmlEngine; QQmlComponent component(engine, QUrl::fromLocalFile("main.qml")); QObject *myObject = component.create(); QQmlExpression *expr = new QQmlExpression(engine->rootContext(), myObject, "width * 2"); int result = expr->evaluate().toInt(); // result = 400 - __init__()¶
 - Create an invalid - QQmlExpression.- As the expression will not have an associated - QQmlContext, this will be a null expression object and its value will always be an invalid QVariant.- __init__(ctxt, scope, expression[, parent=None])
- Parameters:
- ctxt – - QQmlContext
- scope – - QObject
- expression – str 
- parent – - QObject
 
 
 - Create a - QQmlExpressionobject that is a child of- parent.- The - expressionJavaScript will be executed in the- ctxt- QQmlContext. If specified, the- scopeobject’s properties will also be in scope during the expression’s execution.- __init__(script[, ctxt=None[, scope=None[, parent=None]]])
- Parameters:
- script – - QQmlScriptString
- ctxt – - QQmlContext
- scope – - QObject
- parent – - QObject
 
 
 - Create a - QQmlExpressionobject that is a child of- parent.- The - scriptprovides the expression to be evaluated, the context to evaluate it in, and the scope object to evaluate it with. If provided,- ctxtand- scopewill override the context and scope object provided by- script.- See also - clearError()¶
 - Clear any expression errors. Calls to - hasError()following this will return false.- See also - columnNumber()¶
- Return type:
- int 
 
 - Returns the source file column number for this expression. The source location must have been previously set by calling - setSourceLocation().- context()¶
- Return type:
 
 - Returns the - QQmlContextthis expression is associated with, or- Noneif there is no association or the- QQmlContexthas been destroyed.- engine()¶
- Return type:
 
 - Returns the - QQmlEnginethis expression is associated with, or- Noneif there is no association or the- QQmlEnginehas been destroyed.- Return any error from the last call to - evaluate(). If there was no error, this returns an invalid- QQmlErrorinstance.- See also - evaluate()¶
- Return type:
- PyTuple 
 
 - Evaulates the expression, returning the result of the evaluation, or an invalid QVariant if the expression is invalid or has an error. - valueIsUndefinedis set to true if the expression resulted in an undefined value.- See also - expression()¶
- Return type:
- str 
 
 - Returns the expression string. - See also - hasError()¶
- Return type:
- bool 
 
 - Returns true if the last call to - evaluate()resulted in an error, otherwise false.- See also - lineNumber()¶
- Return type:
- int 
 
 - Returns the source file line number for this expression. The source location must have been previously set by calling - setSourceLocation().- notifyOnValueChanged()¶
- Return type:
- bool 
 
 - Returns true if the - valueChanged()signal is emitted when the expression’s evaluated value changes.- See also - Returns the expression’s scope object, if provided, otherwise 0. - In addition to data provided by the expression’s - QQmlContext, the scope object’s properties are also in scope during the expression’s evaluation.- setExpression(expression)¶
- Parameters:
- expression – str 
 
 - Set the expression to - expression.- See also - setNotifyOnValueChanged(notifyOnChange)¶
- Parameters:
- notifyOnChange – bool 
 
 - Sets whether the - valueChanged()signal is emitted when the expression’s evaluated value changes.- If - notifyOnChangeis true, the- QQmlExpressionwill monitor properties involved in the expression’s evaluation, and emit- valueChanged()if they have changed. This allows an application to ensure that any value associated with the result of the expression remains up to date.- If - notifyOnChangeis false (default), the- QQmlExpressionwill not montitor properties involved in the expression’s evaluation, and- valueChanged()will never be emitted. This is more efficient if an application wants a “one off” evaluation of the expression.- See also - setSourceLocation(fileName, line[, column=0])¶
- Parameters:
- fileName – str 
- line – int 
- column – int 
 
 
 - Set the location of this expression to - lineand- columnof- url. This information is used by the script engine.- sourceFile()¶
- Return type:
- str 
 
 - Returns the source file URL for this expression. The source location must have been previously set by calling - setSourceLocation().- valueChanged()¶
 - Emitted each time the expression value changes from the last time it was evaluated. The expression must have been evaluated at least once (by calling - evaluate()) before this signal will be emitted.