int main(int argc, char **argv) { Q_INIT_RESOURCE(defaultprototypes); QApplication app(argc, argv); //! [1] QScriptEngine engine; ListWidgetItemPrototype lwiProto; engine.setDefaultPrototype(qMetaTypeId<QListWidgetItem*>(), engine.newQObject(&lwiProto)); ListWidgetPrototype lwProto; engine.setDefaultPrototype(qMetaTypeId<QListWidget*>(), engine.newQObject(&lwProto)); //! [1] //! [2] QListWidget listWidget; engine.globalObject().setProperty("listWidget", engine.newQObject(&listWidget)); //! [2] QFile file(":/code.js"); file.open(QIODevice::ReadOnly); QScriptValue result = engine.evaluate(file.readAll()); file.close(); if (engine.hasUncaughtException()) { int lineNo = engine.uncaughtExceptionLineNumber(); qWarning() << "line" << lineNo << ":" << result.toString(); } #if defined(Q_OS_SYMBIAN) listWidget.showMaximized(); #else listWidget.show(); #endif return app.exec(); }