使用 C++ 扩展 QML
来源:互联网 发布:hadoop和python 编辑:程序博客网 时间:2024/06/05 21:49
1.方法一:通过qmlRegisterType注册C++实例。
2.方法二:通过QtQuick 2 QML Extension Plugin创建一个名为fileio插件,这个插件包含一个叫作FileIO
的对象,该对象位于模块“org.example.io”。
fileio.h
#ifndef FILEIO_H#define FILEIO_H#include <QObject>#include <QUrl>class FileIO : public QObject{ Q_OBJECT Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged) Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged)public: explicit FileIO(QObject *parent = 0); Q_INVOKABLE void read(); Q_INVOKABLE void write(); QUrl source(); void setSource(const QUrl &url); QString text(); void setText(const QString &str);signals: void sourceChanged(); void textChanged(const QString &);private: QString stext; QUrl url; class Private; friend class Private; Private *d;};#endif // FILEIO_Hfileio.cpp
#include "fileio.h"class FileIO::Private {public: Private() {} QString text; QUrl url;};FileIO::FileIO(QObject *parent) : QObject(parent), d(new FileIO::Private){}void FileIO::read(){}void FileIO::write(){}QUrl FileIO::source(){}void FileIO::setSource(const QUrl &url){}QString FileIO::text(){ return this->stext;}void FileIO::setText(const QString &str){ this->stext = str; emit textChanged(this->stext);}对于windows平台只需要构建,然后将qmldir和.dll文件放在“D:\Qt\Qt5.6.0\5.6\mingw49_32\qml\org\xample\io”下面,“org\xample\io”此路径
需要用户自己创建。
对于手机端,需要执行build.bat脚本,然后将qmldir和.so文件放在“D:\Qt\Qt5.6.0\5.6\android_armv7\qml\org\example\io”下面,“org\xample\io”
此路径需要用户自己创建。
build.bat
set ANDROID_NDK_ROOT=D:\android\sdk\android-ndk-r10eD:\Qt\Qt5.6.0\5.6\android_armv7\bin\qmake.exe CONFIG+=debug_and_releaseD:\Qt\Qt5.6.0\Tools\mingw492_32\bin\mingw32-make.exeD:\Qt\Qt5.6.0\Tools\mingw492_32\bin\mingw32-make.exe install
0 0
- 使用 C++ 扩展 QML
- 使用C++扩展QML功能
- 第三篇 使用C++扩展QML功能
- QAbstractListModel:Qml 使用C++model
- ObjectModel:Qml 使用C++model
- QML插件扩展(一)
- 单例模式的简单使用(QML调用C++)
- 使用C/C++扩展Python
- 扩展PHP,使用C库
- 使用C语言扩展Python
- 使用C/C++扩展Python
- 使用C创建php扩展
- 使用C语言扩展Python
- 使用C/C++ 扩展Python
- qml学习1 --c++扩展qml
- QML使用loader加载qml文件到QML
- QML之使用Loader加载QML组件
- QML学习:QML文件当做组件使用
- 博主自制新手入门Linux命令表情包
- java处理url中的特殊字符(如&,%...)
- MySQL存储过程
- MediaPlayer和SurfaceView播放视频会闪黑屏一下
- state-threads简介
- 使用 C++ 扩展 QML
- Android初级进阶之自定义时钟(二)
- iOS UITextFiled API详细翻译
- Android Studio 字符串 string.xml
- FTP的主动模式和被动模式
- ANDROID CONNECT DEVICE BY WIFI
- python官方资料
- 用CentOS 7安装cadence搭建适合IC Design的科研环境(三)——准备安装镜像
- 进制转换