Qt for Android开发实例分析
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"Qt for Android开发实例分析",在日常操作中,相信很多人在Qt for Android开发实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2026年11月04日Qt for Android开发实例分析
这篇文章主要介绍"Qt for Android开发实例分析",在日常操作中,相信很多人在Qt for Android开发实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Qt for Android开发实例分析"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
具体步骤如下:
1.Android平台的视频播放,只能使用qml的MediaPlayer
2.qml中控件的路径必须加file:// 例如:
Image{ source: "file:///mnt/usbhost1/Config/logo.png" }3.C++与qml中js的方法互调
QQuickView view; view.setSource(QUrl(QStringLiteral("qrc:///qml/MainView.qml"))); QObject *qmlObj =(QObject*) view.rootObject(); MainWnd *w=new MainWnd(object); //暴露C++类给qml供其调用,别名mainWndClass view.engine ()->rootContext ()->setContextProperty (QLatin1String("mainWndClass"),w); //c++调用qml中的js方法 //参数必须转换为QVariant QMetaObject::invokeMethod (qmlObj,"showRight",Q_ARG(QVariant,1)); //调用子项的js方法 qmlPlayer = qmlObj->findChild("playerArea"); QMetaObject::invokeMethod (qmlPlayer,"setVideoFile",Q_ARG(QVariant,currentVideoFile)); //MainView.qml Rectangle { anchors.fill: parent property int leftAreaWidth: this.width/5*4 property int rightAreaWidth: this.width/5 property int queueFontSize function showRight(isShow){ .... } Player{ id:playerArea //设置objectName,在c++中才能找到它 objectName: "playerArea" width: parent.width height: parent.height } }4.c++调用java Android api
在项目目录下建立目录\android\src\org\rophie\ProjectName\JavaClass.java
org\rophie\ProjectName即为java类的包名package org.rophie.ProjectName;
如我调用Android API调节系统音量
package org.rophie.ProjectName; import org.qtproject.qt5.android.bindings.QtActivity; import android.widget.Toast; import android.media.AudioManager; import android.content.Context; public class JavaClass extends QtActivity{ private static JavaClass m_instance; private static AudioManager mAudioManager; public JavaClass() { //构造函数必须 m_instance = this; } public static void setVolume(int vol){ if(mAudioManager==null){ mAudioManager = (AudioManager)m_instance.getSystemService(Context.AUDIO_SERVICE); } mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, vol, 0); } }C++调用:
QAndroidJniObject::callStaticMethod("org/rophie/ProjectName/JavaClass","setVolume","(I)V",3); //具体参照QAndroidJniObject类
5.BroadcastReceiver实现开机自启,和Android一模一样
public void onReceive(Context context, Intent intent) { ...... //JavaClass为继承QtActivity的java主类 Intent intent2 = new Intent(context, JavaClass.class); ...... }6.调用第三方jar包,在src同级目录下新建目录libs,将.jar拷入即可使用
到此,关于"Qt for Android开发实例分析"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
实例
实例分析
分析
开发
方法
目录
学习
更多
C++
帮助
实用
一模一样
接下来
函数
别名
参数
同级
子项
平台
控件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
朗新科技与工业互联网
北京互联网科技公司
壕鑫互联网络科技
互联网科技大会
科技类的互联网平台
丰台科技园 互联网公司
互联网科技创新企业排名
安控科技rtu产品工业互联网
江苏南京365互联网科技
恒银科技与互联网金融
中化能源互联网科技招聘
南山科技园互联网公司有哪些
和信科技工业互联网
互联网在线教育科技创业
用友工业互联网科技发展
长沙互联网科技
互联网金融科技公司的优势
互联网安防科技感
亚光科技低轨卫星互联网
六子台科技互联网展会
手磨咖啡
中国互联网科技工作委员会毛军
互联网科技战争
智网互联网科技
互联网科技小额贷款
互联网科技公司有风险吗
华中科技大学互联网的牛人
深圳互联网科技的发展
广西泛欧互联网科技有限公司
河南商务圈互联网科技有限公司