我创建了一个自动生成 main.cpp 的新 QML 项目。我在 qml.qrc 中添加了一个图标,现在看起来像这样:
<RCC>
<qresource prefix="/">
<file>main.qml</file>
<file>bookmark.png</file>
</qresource>
</RCC>
然后我添加一个按钮并设置图标。QML 设计器似乎没有一个字段,所以我必须通过代码来完成。另外我不希望按钮上有任何文字:
import QtQuick 2.12
import QtQuick.Controls 2.5
ApplicationWindow {
width: 640
height: 480
visible: true
title: qsTr("Scroll")
Button {
id: button
x: 301
y: 159
icon.source: "qrc:/bookmark.png"
}
}
我编译并运行最终得到这个窗口,这正是我想要的:
但是,QML Designer 向我展示了这一点:
如您所见,该图标已丢失。当设计一个更复杂的图形用户界面时,你会得到一堆空的方块,这使得你很难看到你在做什么。在我绝望中,我试图将图标设置为背景图像:
Button {
id: button
x: 301
y: 159
icon.source: "qrc:/bookmark.png"
background: Image {
id: name
source: "qrc:/bookmark.png"
}
}
当我运行它时,我得到一个按钮,图标和背景图像都重叠,这是有道理的。当我在 QML Designer 中查看它时,它仍然显示一个空按钮。我可以很好地添加图像,书签.png 资产的拖放会导致添加在应用程序和 QML Designer 中都可见的Image
元素(也加载qrc:/bookmark.png
),因此 QML Designer 通常能够查看资源文件并显示图片。
我正在使用 Qt Creator/QML Designer 插件 4.14.2。
是否有任何解决方法可以让 QML Designer 显示图标?