当前位置: 首页 > news >正文

Qt qml Network error问题

最近在学习Qt,需要调用地图,所以用到了QML,但是却遇到了这样的问题

d://qt_project//run//main.qml: Network error

现在我展示一下我的main文件的代码:

#include <QApplication>
#include <QQuickView>
#include <QQmlContext>
#include <QGeoCoordinate>  // 添加 QGeoCoordinate 头文件
#include <QQmlEngine>
int main(int argc,char *argv[])
{QApplication a(argc, argv);QQuickView *view=new QQuickView();view->engine()->rootContext()->setContextProperty("center", QVariant::fromValue(QGeoCoordinate(-25.363, 131.044)));view->setSource(QUrl(QStringLiteral("D://QT_project//run//main.qml")));view->show();return a.exec();
}

搜索了大量的资料后最后还是问AI解决了问题,这里看第四行我这里用的是绝对路径,这就意味着,必须要对本机的资源进行访问,然后就network error了(具体原因我其实也没弄清楚,要是有佬明白可以在评论区分享一下!)

我们访问的时候,按照下面步骤将main.qml设置成QT的资源就可以了

  1. 右键添加新文件
  2. 选择Qt Resource File
    在这里插入图片描述
  3. 右键点击并添加前缀
    在这里插入图片描述
    在这里插入图片描述
  4. 语言不用管,我这里把prefix设置成了/qml
    在这里插入图片描述
  5. 将文件添加到resource/qml下面
  6. 修改main函数代码如下:
#include <QApplication>
#include <QQuickView>
#include <QQmlContext>
#include <QGeoCoordinate>  // 添加 QGeoCoordinate 头文件
#include <QQmlEngine>
int main(int argc,char *argv[])
{QApplication a(argc, argv);QQuickView *view=new QQuickView();//缺什么补什么就行view->engine()->rootContext()->setContextProperty("center", QVariant::fromValue(QGeoCoordinate(-25.363, 131.044)));//view->setSource(QUrl(QStringLiteral("qrc:/qml/main.qml")));view->show();return a.exec();
}

其实就是修改那个Qurl那个,这里的前缀qrc就是表示是qt的资源,这样我们就可以直接在qt里面访问到main.qml而就不用借用network去访问本机的资源了。
下面给一个示例,可以自行测试一下,main函数代码不用改,main.qml代码如下:

import QtQuick 2.15Rectangle {width: 400height: 300color: "lightblue"Text {text: "Hello, World!"anchors.centerIn: parentfont.pointSize: 24}
}

输出下面的图片就ok了。
在这里插入图片描述

本人还是qt的一名新手,有什么不对或者补充的知识,欢迎各位佬在评论区分享,讨论~~~~~。

http://www.xdnf.cn/news/654625.html

相关文章:

  • 「读书报告」内网安全攻防
  • 每日算法-250526
  • GitLab 18.0 正式发布,15.0 将不再受技术支持,须升级【三】
  • 消防营区管理升级:豪越科技智能仓储与装备管理的力量
  • 【Java项目测试报告】:在线音乐平台(Online-Music)
  • 开发过的一个Coding项目
  • top查看 CPU使用情况
  • 【Java学习笔记】单例设计模式
  • C++23 std::start_lifetime_as:用于隐式生存期类型的显式生存期管理函数 (P2590R2)
  • Java网络编程中的I/O操作:从字节流到对象序列化
  • DJI上云API官方demo学习
  • JavaSE核心知识点04工具04-01(JDK21)
  • 【opencv】vs2019中配置opencv
  • 同一个核磁共振(MRI)检查中,不同序列的图像之间空间坐标定位如何实现
  • Redis | 缓存技术对后端的重要性
  • STM32之SPI——外部FLASH和RFID
  • 宫格导航--纯血鸿蒙组件库AUI
  • 树莓派超全系列教程文档--(47)如何使用内核补丁
  • QT中常用的类
  • Cesium 实战 26 - 自定义纹理材质 - 实际应用之飞线(抛物线)
  • 并发的产生及对应的解决方案之服务架构说明
  • 第1章第1节:安全运维基础思维与体系建设-安全运维的定义与核心目标
  • Ext系列文件系统
  • 分布式缓存:证明分布式系统的 CAP 理论
  • [闲谈]C语言的面向对象
  • 易境通WMS系统:赋能快消品海外仓高效管理
  • 完美解决Docker镜像无法拉取问题(转载)
  • 服务器的IP是什么东西?
  • uniapp-商城-69-shop(2-商品列表,点击商品展示,商品的详情, vuex的使用,rich-text使用)
  • ESP8266_AP机械手 第三篇Uniapp遥控器