• 4631阅读
  • 1回复

[提问]如何在qml中访问cpp里的变量和函数? [复制链接]

上一主题 下一主题
离线edwalt
 
只看楼主 倒序阅读 楼主  发表于: 2012-03-10
如何在main.qml文件里使用main.cpp里的变量和函数?我在qml里直接使用的话会总是报错ReferenceError: Can't find variable
离线kanger
只看该作者 1楼 发表于: 2012-08-29
试试这个……
  1. //applicationdata.h
  2. #ifndef APPLICATIONDATA_H
  3. #define APPLICATIONDATA_H
  4. #include <QObject>
  5. #include <QDateTime>
  6. class ApplicationData : public QObject
  7. {
  8.     Q_OBJECT
  9. public:
  10.     Q_INVOKABLE QDateTime getTime() const {
  11.         return QDateTime::currentDateTime();
  12.     }
  13. };
  14. #endif // APPLICATIONDATA_H



  1. //main.cpp
  2. #include <QApplication>
  3. #include <QDeclarativeView>
  4. #include <QDeclarativeContext>
  5. #include "applicationdata.h"
  6. int main(int argc, char *argv[])
  7. {
  8.     QApplication app(argc, argv);
  9.     QDeclarativeView view;
  10.     ApplicationData data;
  11.     view.rootContext()->setContextProperty("applicationData", &data);
  12.     view.setSource(QUrl::fromLocalFile("../myDeclarativeContext/MyItem.qml"));
  13.     view.show();
  14.     return app.exec();
  15. }




  1. //myDeclarativeContext/MyItem.qml
  2. import QtQuick 1.0
  3. Text{text:applicationData.getTime()}


快速回复
限100 字节
 
上一个 下一个