iCub-main
Loading...
Searching...
No Matches
main.cpp
Go to the documentation of this file.
1#include <QApplication>
2#include <QQmlApplicationEngine>
3#include <QVariant>
4#include <QQuickWindow>
5#include <QDir>
6#include "config.h"
7
8int main(int argc, char *argv[])
9{
10 QApplication app(argc, argv);
11 QVariant retVal;
12
13 // De-comment this to trace all imports
14// QByteArray data = "1";
15// qputenv("QML_IMPORT_TRACE", data);
16
17 QQmlApplicationEngine engine;
18 engine.addImportPath(QDir::cleanPath(QCoreApplication::applicationDirPath() + QDir::separator() +
19 PLUGINS_RELATIVE_PATH));
20#ifdef CMAKE_INTDIR
21 engine.addImportPath(QDir::cleanPath(QCoreApplication::applicationDirPath() + QDir::separator() +
22 ".." + QDir::separator() +
23 PLUGINS_RELATIVE_PATH + QDir::separator() +
24 CMAKE_INTDIR));
25#endif
26
27 engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
28
29 QObject *topLevel = engine.rootObjects().value(0);
30 QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);
31
32 // Pack the argc and argv to a QStrinList so we can pass them easily to the plugin
33 QStringList params;
34 for(int i=0;i<argc;i++){
35 params.append(argv[i]);
36 }
37 // Call the parseParameters of the toplevel object
38 QMetaObject::invokeMethod(topLevel,"parseParameters",
39 Qt::DirectConnection,
40 Q_RETURN_ARG(QVariant, retVal),
41 Q_ARG(QVariant,params));
42 if(!retVal.toBool()){
43 return 1;
44 }
45
46 if(window){
47 window->show();
48 }
49
50 return (app.exec()!=0?1:0);
51}
int main()
Definition main.cpp:67