#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>
#include <QtDeclarative/QDeclarativeComponent>
+#include <QtDeclarative/QDeclarativeContext>
#include <QtDeclarative/QDeclarativeEngine>
class DeclarativeWidgetDocument::Private
delete d;
}
+void DeclarativeWidgetDocument::setContextProperty(const QString &name, const QVariant &value)
+{
+ d->m_engine->rootContext()->setContextProperty(name, value);
+}
+
+void DeclarativeWidgetDocument::setContextProperty(const QString &name, QObject *object)
+{
+ d->m_engine->rootContext()->setContextProperty(name, object);
+}
+
QWidget* DeclarativeWidgetDocument::createWidget()
{
QObject *object = d->m_component->create();
DeclarativeWidgetDocument(const QUrl &url, QObject *parent = 0);
~DeclarativeWidgetDocument();
+ void setContextProperty(const QString &name, const QVariant &value);
+ void setContextProperty(const QString &name, QObject *object);
+
template <typename T>
T* create()
{
#include "declarativewidgetdocument.h"
+#include <QtCore/QTimer>
#include <QtGui/QApplication>
-#include <QtGui/QLabel>
+#include <QtGui/QWidget>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
+ QTimer timer;
+ timer.setInterval(1000);
+ timer.start();
+
DeclarativeWidgetDocument document(QUrl("test.qml"));
+ document.setContextProperty("_timer", &timer);
QWidget *widget = document.create<QWidget>();
if (widget)
windowTitle: qsTr("Cool Test App")
size: Qt.size(300, 500)
+ Timer {
+ id: counter
+
+ interval: 1000
+ running: true
+ repeat: true
+
+ onTriggered: dateLabel.text = Date().toString()
+ }
+
VBoxLayout {
Label {
+ id: dateLabel
+ }
+ Label {
text: "Hallo ASCII-safe Kevin!!!"
}
Label {