如何让 QML Designer 显示按钮图标?

问题描述

我创建了一个自动生成 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"
    }
}

我编译并运行以结束这个窗口,这正是我想要的:

Image of window with bookmark button

然而,QML 设计器向我展示了这一点:

QML Designer not showing the bookmark icon in the button

如您所见,该图标不见了。当设计一个更复杂的图形用户界面时,这些图形用户界面很重,只有图标按钮,你最终会得到一堆空方块,这使得很难看到你在做什么。无奈之下,我尝试将图标设置为背景图像:

    Button {
        id: button
        x: 301
        y: 159
        icon.source: "qrc:/bookmark.png"
        background: Image {
            id: name
            source: "qrc:/bookmark.png"
        }
    }

当我运行这个时,我得到一个图标和背景图像重叠的按钮,这是有道理的。当我在 QML 设计器中查看它时,它仍然显示一个空按钮。 我可以很好地添加图像,拖放 bookmark.png 资产会导致添加一个 Image 元素(同时加载 qrc:/bookmark.png),该元素在应用程序和 QML 设计器中都可见,因此 QML 设计器通常能够查看资源文件显示图像。

我使用的是 Qt Creator/QML Designer 插件 4.14.2。

是否有任何解决方法可以让 QML Designer 显示图标?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)