QML 不显示 svg 图像

2024-04-18

我编写了一个简单的 QML ui,它使用一些 svg 图像。 当我在桌面上执行该应用程序时,一切都很好,显示了 UI 以及上面的 svg 图像。 当我尝试在嵌入式设备(运行嵌入式 Windows)上执行应用程序时,会出现问题。在这种情况下,会显示 UI,但不会显示 svg 图像,并且在控制台上我收到以下消息:QML BorderImage:无效的图像数据:my_image.svg

png 图像会正确显示。

我在互联网上研究了这个问题,发现很多人通过向 .pro 文件添加 svg 和其他依赖项来解决这个问题。 不幸的是,这对我的情况没有帮助。 这些是我的 .pro 文件的内容:

TEMPLATE = app

QT += qml quick widgets svg xml gui core

QTPLUGIN += qsvg

SOURCES += main.cpp \
    SignalProcessor.cpp \
    PopupMode.cpp \
    BasicToolbarModel.cpp

RESOURCES += qml.qrc

# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =

# Default rules for deployment.
include(deployment.pri)

HEADERS += \
    SignalProcessor.h \
    PopupMode.h \
    BasicToolbarModel.h

CONFIG += qmltestcase

QUICK_TEST_SOURCE_DIR += Tests

DISTFILES += \
    qml/main.qml \
    qml/CustomToolBar.qml \
    qml/components/BatteryStatus.qml \
    qml/components/ImageButton.qml \
    qml/components/Popup.qml \
    qml/components/WifiStatus.qml \
    qml/pages/PlayButtonView.qml \
    qml/pages/StopButtonView.qml \
    qml/tests/tst_CustomToolBar.qml \
    qml/tests/tst_WifiStatus.qml \
    scripts/Utils.js

编辑:所有 svg 图像都位于资源文件内


为了显示 SVG 图像,我执行了以下操作:

Added svg to the .pro file :

QT += svg

确保我的Image有一个尺寸:

    height: 400
    width: 400

确保我设置了源 SVG 的大小:

sourceSize.width: 100
sourceSize.height: 100

就这样。

当我忘记 QML 文件中的内容时,我会收到如下警告:

W/libnotification.so( 3800): (null):0 ((null)): QOpenGLShaderProgram: could not create shader program
W/libnotification.so( 3800): (null):0 ((null)): QOpenGLShader: could not create shader

修复 QML 后,模拟器仍然抱怨:

E/OpenGLRenderer( 4435): GL error:  GL_INVALID_VALUE

我必须重新启动模拟器才能让它再次显示某些内容。

提示:为了获得正确的视觉质量,请勿设置sourceSizeImage大小(由于 x4 因素,上面的示例可能会给出丑陋的结果)。

(我正在 Android 模拟器上使用 Qt 5.7 进行测试)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QML 不显示 svg 图像 的相关文章

随机推荐

  • 删除图像上绘制的文本的顶部和底部填充

    我正在从指定的文本生成图像 但我面临一个问题 我无法删除生成的图像内绘制文本的顶部和底部填充 我尝试在使用时更改字符串格式Graphics DrawString 但我只设法删除了左右填充 private void button1 Click
  • Android - setRequestedOrientation - 活动和视图生命周期

    我在使用 JNI 的本机代码方面遇到了一些问题 我怀疑这可能是由于调用setRequestedOrientation 当我打电话时活动会发生什么setRequestedOrientation 是刚刚重新启动还是完全被破坏了 另外 视图会发生
  • 如何即时命名变量?

    是否可以动态创建新的变量名称 我想将列表中的数据帧读取到末尾带有数字的新变量中 比如 orca1 orca2 orca3 如果我尝试类似的事情 paste orca i sep list name i 我收到这个错误 target of a
  • NSLocale currentLocale 始终返回“en_US”而不是用户当前的语言

    我正在国际化 iPhone 应用程序 我需要根据用户当前的区域设置对某些视图进行编程更改 我快要疯了 因为无论 iPhone 模拟器或实际硬件上的语言偏好是什么 locale始终评估为 en US NSString locale NSLoc
  • Unity fps 旋转相机

    在我的游戏中 我有一个摄像头 我希望将 FPS 之类的旋转附加到该摄像头上 因此 如果我将光标向左移动 我希望凸轮向左旋转 如果我向上移动光标 那么凸轮应该向上看 等等 我目前已经部分工作 我可以左看 右看 上看 下看 当我向下看然后左右移
  • 从Python中的当前日期获取7天前的日期[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我试图在 python 中获取从当前日期开始 7 天前的日期 谁能帮我 import datetime as DT today DT da
  • 如何处理在 JQuery 中返回字符串的 JSON 请求?

    json jQuery 新手 如果这有一个明显的答案 我很抱歉 我正在 jQuery 中执行 ajax 请求 如下所示 ajax url theURL dataType jsonp type get success function dat
  • ServiceRoute + WebServiceHostFactory 杀死 WSDL 生成?如何使用 ?wsdl 创建无扩展的 WCF 服务

    我正在尝试使用无扩展名 无 svc WCF 服务 其他人可以确认或否认我遇到的问题吗 我在代码中使用路由 并在 global asax cs 的 Application Start 中执行此操作 RouteTable Routes Add
  • 将用户从 SP 中注销,但不从 IDP 中注销

    是否可以将用户从使用 SAML 身份验证的应用程序中注销 但让他们保持登录 IDP 的状态 以便他们可以继续访问其他服务提供商 我希望能够将用户从应用程序中注销 并让他们在返回应用程序时进行身份验证 而无需将其从 IDP 中注销 即我不想使
  • 放弃支持库 v7。我做错了什么?

    我需要为 2 3 及更高版本的设备添加操作栏 我最近知道了 appcompat v7 支持库 它正是这样做的 我已经按照支持库设置指南 http developer android com tools support library set
  • Debian 在没有桌面的情况下启动 Qt GUI 应用程序

    我在 SBC 上运行 Debian 2 6 我计划在嵌入式设置中使用它 我需要做的是配置它 以便 linux 启动并运行我的 Qt GUI 应用程序 我是否需要窗口管理器来执行此操作 或者我可以使用 X11 来执行此操作吗 另外 因为它将用
  • Vuetify v-select 组件宽度改变

    My v select组件应该有固定的宽度 60px 它们适合表格单元格 我想防止它们在选择值后更改宽度 它们会更改宽度 并且下拉箭头在选择后会向右移动 因此如果有办法减小图标或其填充 边距的大小 可能会有所帮助 真的不知道如何获取这个箭头
  • AVAudioSinkNode 具有非默认但仍然是设备本机采样率

    我已经配置了AVAudioSinkNode附于AVAudioEngine s inputNode像这样 let sinkNode AVAudioSinkNode timestamp frames audioBufferList gt OSS
  • Matplotlib 补丁有漏洞

    以下代码有效 问题是我不知道它为什么有效 该代码绘制一个圆形面片 使用 PathPatch 并从中心切出一个三角形 我的猜测是 内三角形被切掉 因为它是顺时针绘制的 而外圆是逆时针绘制的 如果方向不反转 三角形就不会被剪切 我在文档中没有找
  • 更改所有 Woocommerce 电子邮件通知中的“回复”电子邮件地址

    在 Woocommerce 中 我想更改应始终用作的电子邮件地址回复地址对于所有电子邮件通知 Woocommerce 如何做到这一点 以下操作将更改所有电子邮件通知中的 回复 电子邮件地址 和姓名 add filter woocommerc
  • kendo-numerictextbox' 不是已知元素

    我在尝试在 Angular 7 应用程序中实现 kendo numerictextbox 时遇到错误 我目前正在使用 kendo dropdownlist 和文本框控件 没有任何问题 我不确定缺少哪个包 我是否缺少一些依赖
  • 如何获取接受的入站套接字的 IP 地址?

    我的问题是 服务器将创建一个套接字 绑定到给定端口并使用地址 INADDR ANY 监听 和接受 新连接 然后 我们可以获取客户端的ip地址 来自接受 现在 我想知道服务器的IP地址 因为服务器的主机有 上面有多个网卡 如何知道接受的入站套
  • 使用 mongoose 和 Fixie(Heroku 附加组件)连接到 mongodb

    我有一个托管在 Atlas MongoDB Cloud 集群上的 mongodb 数据库 我目前正在使用 mongoose 访问 Node js 应用程序中的数据库 mongoose connect mongodb user pw clus
  • R:格式化xtable中的数字

    我有数据 transaction lt c 1 2 3 date lt c 2010 01 31 2010 02 28 2010 03 31 type lt c debit debit credit amount lt c 500 1000
  • QML 不显示 svg 图像

    我编写了一个简单的 QML ui 它使用一些 svg 图像 当我在桌面上执行该应用程序时 一切都很好 显示了 UI 以及上面的 svg 图像 当我尝试在嵌入式设备 运行嵌入式 Windows 上执行应用程序时 会出现问题 在这种情况下 会显