QT的QScriptable类的使用
詳細(xì)說(shuō)明
通過(guò)QScriptable類(lèi),可以從Qt C ++成員函數(shù)訪問(wèn)Qt腳本環(huán)境。
使用QScriptEngine :: newQObject(),您可以將任何QObject(或子類(lèi))的信號(hào),插槽和屬性公開(kāi)給腳本代碼。 QScriptable通過(guò)使您的C ++成員可以訪問(wèn)他們?cè)谄渲姓{(diào)用的Qt腳本環(huán)境來(lái)增強(qiáng)此功能。從概念上講,它類(lèi)似于QObject :: sender()。
通過(guò)子類(lèi)化QScriptable,您可以在類(lèi)中獲得以下函數(shù):thisObject(),argumentCount(),argument(),context()和engine()。使用這些功能,當(dāng)從腳本代碼中調(diào)用類(lèi)的插槽和屬性訪問(wèn)功能時(shí),您可以完全訪問(wèn)Qt Script環(huán)境。
例如,您可以從插槽中拋出Qt腳本異常。操作與函數(shù)調(diào)用關(guān)聯(lián)的“ this”對(duì)象;檢查存儲(chǔ)在QScriptContext中的參數(shù),以了解從腳本代碼傳遞給函數(shù)的“真實(shí)”參數(shù);并從插槽中調(diào)用腳本功能。
QScriptable的典型用例是為自定義C ++類(lèi)型實(shí)現(xiàn)原型對(duì)象。您可以使用屬性和插槽在QScriptable子類(lèi)中定義自定義類(lèi)型的腳本化接口;然后使用QScriptEngine :: newQObject()包裝類(lèi)的實(shí)例,最后將結(jié)果傳遞給QScriptEngine :: setDefaultPrototype()。請(qǐng)參閱默認(rèn)原型示例以了解如何完成此操作。
以下是QScriptable的子類(lèi)通常的外觀:
總結(jié)
以上是生活随笔為你收集整理的QT的QScriptable类的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 投资基金考虑哪些因素 注意基金过去的业
- 下一篇: s3c2440移植MQTT