qt6.4 qml无法使用资源图片

yQML Image: Cannot open: qrc:/10.png

你的文件路径,根本没有错。他娘的就是用不了

因为高版本的qt使用的cmake,需要手动添加 资源文件

意思是:手动把Image.qrc(资源文件)路径添加到编译路径

如图添加set(CMAKE_AUTORCC ON)这条语句,还要在括号加Image.qrc

然后就可以用了

 

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
Qt6.4中获取安卓手机路径的方法与Qt5.x有所不同。以下是获取安卓手机路径的步骤: 1. 引入Qt Android Extras模块。 ```qml import QtAndroid.Extras 1.0 ``` 2. 添加以下权限到AndroidManifest.xml文件中: ```xml <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> ``` 3. 在C++代码中定义一个槽函数,并使用Qt Android Extras模块中的QAndroidJniObject类获取相册路径。例如: ```cpp void MyObject::getAlbumPath(){ QAndroidJniObject ACTION_PICK = QAndroidJniObject::fromString("android.intent.action.PICK"); QAndroidJniObject externalContentUri = QAndroidJniObject::fromString("content://media/external/images/media"); QAndroidJniObject intent("android/content/Intent", "(Ljava/lang/String;Landroid/net/Uri;)V", ACTION_PICK.object<jstring>(), externalContentUri.object<jobject>()); QtAndroid::startActivity(intent, 101, [this](int requestCode, const QAndroidJniObject& data){ if(requestCode == 101){ QAndroidJniObject uri = data.callObjectMethod("getData", "()Landroid/net/Uri;"); QAndroidJniObject filePath = QAndroidJniObject::callStaticObjectMethod("android/os/Environment", "getExternalStorageDirectory", "()Ljava/io/File;"); filePath = filePath.callObjectMethod("getAbsolutePath", "()Ljava/lang/String;"); QAndroidJniObject resolver = QtAndroid::androidActivity().callObjectMethod("getContentResolver","()Landroid/content/ContentResolver;"); QAndroidJniObject options; options = QAndroidJniObject::callStaticObjectMethod("android/provider/MediaStore$Images$Media", "query", "(Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;", resolver.object<jobject>(), uri.object<jobject>(), nullptr, nullptr, nullptr); jint columnIndex = options.callMethod<jint>("getColumnIndex", "(Ljava/lang/String;)I", QAndroidJniObject::fromString("_data").object<jstring>()); options.callMethod<jboolean>("moveToFirst"); QAndroidJniObject path = options.callObjectMethod("getString", "(I)Ljava/lang/String;", columnIndex); qDebug() << "Path: " << path.toString(); } }); } ``` 该函数会弹出相册选择界面,用户选择一张图片后,会返回该图片的路径。需要注意的是,该函数只能在Qt Android应用程序中调用,不能在Windows、Linux等平台下测试运行。 以上就是在Qt6.4中获取安卓手机路径的方法。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值