现在看一下hello.pro文件:
TEMPLATE = lib
CONFIG += plugin
QT += qml
DESTDIR = imports/demo
TARGET = hello
SOURCES += plugin.cpp
qml.files = test.qml
qml.path += ./
pluginfiles.files += \
imports/demo/qmldir \
imports/demo/hello.qml \
pluginfiles.path += imports/demo
target.path += imports/demo
INSTALLS += target qml pluginfiles
这是一个qmake project file. 官方文档在这里:
http://qt-project.org/doc/qt-5/qmake-project-files.html
http://qt-project.org/doc/qt-5/qmake-language.html
qmake读取这个文件,然后产生Makefile。在运行qmake命令之前,让我们看一下如何在plugin.cpp文件中实现一个可导出的C++类。
#include <QtQml/QQmlExtensionPlugin>
#include <QtQml/qqml.h>
#include <qdebug.h>
#include <qdatetime.h>
#include <qbasictimer.h>
#include <qcoreapplication.h>
//![0]
class ClickHandler : public QObject
{
Q_OBJECT
Q_PROPERTY(QString value READ value)
//![0]
public:
ClickHandler(QObject *parent=0) : QObject(parent)
{
}
~ClickHandler()
{
}
QString value() const {