QQmlExpression¶
The QQmlExpression
class evaluates JavaScript in a QML context. More…
Synopsis¶
Functions¶
def
clearError
()def
columnNumber
()def
context
()def
engine
()def
error
()def
evaluate
()def
expression
()def
hasError
()def
lineNumber
()def
notifyOnValueChanged
()def
scopeObject
()def
setExpression
(arg__1)def
setNotifyOnValueChanged
(arg__1)def
setSourceLocation
(fileName, line[, column=0])def
sourceFile
()
Signals¶
def
valueChanged
()
Detailed Description¶
For example, given a file main.qml
like 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
- class PySide6.QtQml.QQmlExpression¶
PySide6.QtQml.QQmlExpression(arg__1, arg__2, arg__3[, arg__4=None])
PySide6.QtQml.QQmlExpression(arg__1[, arg__2=None[, arg__3=None[, arg__4=None]]])
- Parameters
arg__3 – str
arg__2 –
PySide6.QtCore.QObject
arg__4 –
PySide6.QtCore.QObject
arg__1 –
PySide6.QtQml.QQmlContext
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
.
Create a QQmlExpression
object that is a child of parent
.
The expression
JavaScript will be executed in the ctxt
QQmlContext
. If specified, the scope
object’s properties will also be in scope during the expression’s execution.
Create a QQmlExpression
object that is a child of parent
.
The script
provides the expression to be evaluated, the context to evaluate it in, and the scope object to evaluate it with. If provided, ctxt
and scope
will override the context and scope object provided by script
.
See also
- PySide6.QtQml.QQmlExpression.clearError()¶
Clear any expression errors. Calls to hasError()
following this will return false.
See also
- PySide6.QtQml.QQmlExpression.columnNumber()¶
- Return type
int
Returns the source file column number for this expression. The source location must have been previously set by calling setSourceLocation()
.
- PySide6.QtQml.QQmlExpression.context()¶
- Return type
Returns the QQmlContext
this expression is associated with, or None
if there is no association or the QQmlContext
has been destroyed.
- PySide6.QtQml.QQmlExpression.engine()¶
- Return type
Returns the QQmlEngine
this expression is associated with, or None
if there is no association or the QQmlEngine
has been destroyed.
- PySide6.QtQml.QQmlExpression.error()¶
- Return type
Return any error from the last call to evaluate()
. If there was no error, this returns an invalid QQmlError
instance.
See also
- PySide6.QtQml.QQmlExpression.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.
valueIsUndefined
is set to true if the expression resulted in an undefined value.
See also
- PySide6.QtQml.QQmlExpression.expression()¶
- Return type
str
Returns the expression string.
See also
- PySide6.QtQml.QQmlExpression.hasError()¶
- Return type
bool
Returns true if the last call to evaluate()
resulted in an error, otherwise false.
See also
- PySide6.QtQml.QQmlExpression.lineNumber()¶
- Return type
int
Returns the source file line number for this expression. The source location must have been previously set by calling setSourceLocation()
.
- PySide6.QtQml.QQmlExpression.notifyOnValueChanged()¶
- Return type
bool
Returns true if the valueChanged()
signal is emitted when the expression’s evaluated value changes.
See also
- PySide6.QtQml.QQmlExpression.scopeObject()¶
- Return type
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.
- PySide6.QtQml.QQmlExpression.setExpression(arg__1)¶
- Parameters
arg__1 – str
Set the expression to expression
.
See also
- PySide6.QtQml.QQmlExpression.setNotifyOnValueChanged(arg__1)¶
- Parameters
arg__1 – bool
Sets whether the valueChanged()
signal is emitted when the expression’s evaluated value changes.
If notifyOnChange
is true, the QQmlExpression
will 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 notifyOnChange
is false (default), the QQmlExpression
will 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
- PySide6.QtQml.QQmlExpression.setSourceLocation(fileName, line[, column=0])¶
- Parameters
fileName – str
line – int
column – int
Set the location of this expression to line
and column
of url
. This information is used by the script engine.
- PySide6.QtQml.QQmlExpression.sourceFile()¶
- Return type
str
Returns the source file URL for this expression. The source location must have been previously set by calling setSourceLocation()
.
- PySide6.QtQml.QQmlExpression.valueChanged()¶
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.