1

我创建了一个自动生成 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 向我展示了这一点: 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 显示图标?

4

0 回答 0