{{Short description|Scripting engine}} '''QtScript''' is a scripting engine that has been part of the Qt cross-platform application framework since version 4.3.0. It was first deprecated as of Qt 5.5, then dropped as of Qt 6.5, and replaced by Qt Meta-object Language (QML).
The scripting language is based on the ECMAScript standard with a few extensions, such as QObject-style signal and slot connections.<ref>{{cite web |url=http://doc.trolltech.com/4.6/scripting.html#ecmascript-compatibility |title=Making Applications Scriptable: ECMAScript Compatibility |work=Qt 4.6 |publisher=Nokia |access-date=5 September 2011 |url-status=dead |archive-url=https://web.archive.org/web/20100928053842/http://doc.trolltech.com/4.6/scripting.html#ecmascript-compatibility |archive-date=2010-09-28}}</ref> The library contains the engine, and a C++ application programming interface (API) for evaluating QtScript code and exposing custom QObject-derived C++ classes to QtScript.
The QtScript Binding Generator<ref>{{cite web |url=http://qt.gitorious.org/qt-labs/qtscriptgenerator |title=QtScript Generator |url-status=dead |archive-url=https://web.archive.org/web/20111228033225/http://qt.gitorious.org/qt-labs/qtscriptgenerator |archive-date=2011-12-28}}</ref> provides bindings for the Qt API to access directly from ECMAScript.{{clarify|post-text=update needed?|date=September 2011}} QtScript and the binding generator are used for Amarok 2's scripting system.
The QtScript version as of Qt 4.7 in 2011 uses JavaScriptCore but was developed no further. The module was deprecated as of Qt 5.5 in April 2015.<ref>{{cite web |url=http://wiki.qt.io/New-Features-in-Qt-5.5#Deprecated_Functionality |title=New Features in Qt 5.5 |publisher=Qt Company |access-date=15 April 2015}}</ref>
== Qt Script for Applications (QSA) == An earlier and unrelated scripting engine, named ''Qt Script for Applications'' (QSA), was shipped by Trolltech as a separate Qt-based library, dual-licensed under GNU General Public License (GPL) and a commercial license.
With the release of QtScript, QSA has been deprecated and reached its end of life in 2008.<ref>{{cite web |last=Hansen |first=Kent |date=5 January 2007 |url=http://blog.qt.digia.com/blog/2007/01/05/say-hello-to-qtscript/ |title=Say hello to QtScript! |work=Qt Labs: Developer Blogs |publisher=Nokia |access-date=23 November 2013 |url-status=dead |archive-url=https://web.archive.org/web/20131202231949/http://blog.qt.digia.com/blog/2007/01/05/say-hello-to-qtscript/ |archive-date=2 December 2013}}</ref>
== References == {{Reflist}}
== External links == * [http://doc.qt.io/qt-4.8/scripting.html Qt: Making applications scriptable] * [http://doc.qt.io/qt-4.8/qtscript.html QtScript module]{{Dead link|date=September 2018 |bot=InternetArchiveBot |fix-attempted=yes}} * [https://web.archive.org/web/20160119132226/http://doc.qt.digia.com/qsa-1.2.2/ QSA documentation (version 1.2.2)] * [https://web.archive.org/web/20080106190612/http://trolltech.com/products/qt/addon/qsa Last working snapshot of QSA homepage from archive.org] * [http://get.qtsoftware.com/qsa/source/ QSA download directory]{{dead link|date=September 2011}}
{{Qt platform}} {{ECMAScript}}
Category:Free computer libraries Category:JavaScript dialect engines Category:Qt (software)