main.cpp Example File
script/defaultprototypes/main.cpp
#include <QtWidgets/QListWidgetItem>
#include <QtWidgets/QApplication>
#include <QtScript>
#include "prototypes.h"
Q_DECLARE_METATYPE(QListWidgetItem*)
Q_DECLARE_METATYPE(QListWidget*)
int main(int argc, char **argv)
{
Q_INIT_RESOURCE(defaultprototypes);
QApplication app(argc, argv);
QScriptEngine engine;
ListWidgetItemPrototype lwiProto;
engine.setDefaultPrototype(qMetaTypeId<QListWidgetItem*>(),
engine.newQObject(&lwiProto));
ListWidgetPrototype lwProto;
engine.setDefaultPrototype(qMetaTypeId<QListWidget*>(),
engine.newQObject(&lwProto));
QListWidget listWidget;
engine.globalObject().setProperty("listWidget",
engine.newQObject(&listWidget));
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();
}
listWidget.show();
return app.exec();
}