Qt qml中的图像列表

Qt qml中的图像列表,qt,qml,qt5,Qt,Qml,Qt5,我现在开始使用qt/qml编程,它听起来有点不同于java,我现在的领域,所以我需要在一个文件夹中填充一组.png文件,但我不知道如何才能做到这一点。 我有这个: // ... Image { anchors.top: parent.center anchors.left: parent.center anchors.margins: 0 width: 22 height: width source: "qrc:/images/img000.png

我现在开始使用qt/qml编程,它听起来有点不同于java,我现在的领域,所以我需要在一个文件夹中填充一组.png文件,但我不知道如何才能做到这一点。 我有这个:

// ...
Image {
    anchors.top: parent.center
    anchors.left: parent.center
    anchors.margins: 0
    width: 22
    height: width
    source: "qrc:/images/img000.png"
}
// ...
[编辑]此代码是日历示例的一部分“./Qt-5.9/quickcontrols/controls/calendar,我之所以开始,是因为这个示例就像我需要的一样,但我需要在日历网格中显示的挂载中放置一个图像,所以我将这些图像放在一个文件夹中,并在相应文件夹中的我的resources.qrc文件中引用这些图像,因此,我需要在这个文件夹中循环以获取所有图像,因为它们按顺序命名为“img000.png”到“img029.png”,所以我想填充这些图像的数组,然后将这些图像逐个放入日历网格中显示的本月的每个适当代表日。 我不知道我是否使用了列表。。。或者像@eyllanesc迭代文件夹文件一样,我相信哪个操作列表与java非常不同,这是在我的android项目中用java制作的

我不知道QT,但我需要它,因为我需要为IOs迁移这个项目


提前谢谢

由于图像的源是0xx类型的元素。png可以使用中继器的索引进行迭代,为了适应它们,可以使用GridLayout

GridLayout {
        columns: 5
        Repeater {
            model: 30
            Rectangle{
                width: 100
                height: 100
                Image{
                    anchors.fill: parent
                    source: {
                        var str = "%1".arg(index);
                        var format = "000";
                        return "qrc:/images/img%1.png".arg(format.substring(0,format.length- str.length) + str)}
                }
            }
        }
    }
我不想迭代循环,因为它在实现GUI时并不优雅,最好采用特定的元素,例如,在您的示例中,采用每月的天数作为“索引”。要将每天的图像添加到日历示例中,您只需进行以下更改:

注意:我考虑过图像是img001.png,img002.png,…,img031.png

截图:


由于图像的源是0xx类型的元素。png可以使用中继器的索引进行迭代,为了适应它们,可以使用GridLayout

GridLayout {
        columns: 5
        Repeater {
            model: 30
            Rectangle{
                width: 100
                height: 100
                Image{
                    anchors.fill: parent
                    source: {
                        var str = "%1".arg(index);
                        var format = "000";
                        return "qrc:/images/img%1.png".arg(format.substring(0,format.length- str.length) + str)}
                }
            }
        }
    }
我不想迭代循环,因为它在实现GUI时并不优雅,最好采用特定的元素,例如,在您的示例中,采用每月的天数作为“索引”。要将每天的图像添加到日历示例中,您只需进行以下更改:

注意:我考虑过图像是img001.png,img002.png,…,img031.png

截图:


“QML图像列表模型”将是一个搜索上下文。这个问题可能不适合发布在这里。嗨@AlexanderVX,很抱歉,如果我要问你一个问题,那是因为正如我所说,我现在是QT的初学者,我是java程序员,所以我完全搞不清楚QT/qml中是什么,但谢谢你的警告。NP。你的问题比我最初读到的要复杂一些。谢谢你,我的朋友,我将编辑这个问题,因为现在我得到了一个方向。你的问题比最初更复杂,对于下一个出版物,它从一开始就提出了你的问题,或者如果它创建了一个新的问题作为参考,那么这一个。“QML图像列表模型”将是一个搜索上下文开始。这个问题可能不适合发布在这里。嗨@AlexanderVX,很抱歉,如果我要问你一个问题,那是因为正如我所说,我现在是QT的初学者,我是java程序员,所以我完全搞不清楚QT/qml中是什么,但谢谢你的警告。NP。你的问题比我最初读到的要复杂一些。谢谢你,我的朋友,我会编辑这个问题,因为现在我得到了一个方向。你的问题比最初更复杂,对于下一个出版物,它从一开始就提出了你的问题,或者如果它创建了一个新的问题作为参考。嗨@eyllanesc,至少以你为例,你给了我一个方向灯,谢谢!嘿@eyllanesc,这真是一个非常漂亮和简单的解决方案,谢谢!当我结束这个项目时,我将在这里发布“最终剪辑”。嗨@eyllanesc,是的,它在这里工作,但是,我的图像需要从“img000.png”开始到“img030.png”,所以,如果我在
%1”
中将
%1”
更改为
%0”
“…img%1…”
会工作吗?这是我的第一个疑问,第二个疑问是:我需要解决顺序以及在一个函数中填充什么图像,其结果将是源属性的参数,我相信任何类似
source:myfunction()
的东西都可能是图像本身的路径。只需更改
var str=“%1”。arg(styleData.date.getDate());
to
var str=“%1.arg(styleData.date.getDate()-1);
。如果我的答案有助于您将其标记为正确,请。Qml类似于javascript,因此我建议您学习如何在jsHi@eyllanesc中创建和使用函数,至少您的示例为我提供了一个方向灯,谢谢!嘿@eyllanesc,这真是一个非常漂亮和简单的解决方案,谢谢!当我结束项目时,我将在这里发布“最终剪切”。嗨@eyllanesc,是的,它在这里工作,但是,我的图像需要从“img000.png”开始到“img030.png”,所以,如果我在
%1”
中将
%0”
更改为
%0”
“…img%1…”
会起作用吗?这是我的第一个疑问,第二个疑问是:我需要解决顺序以及在一个函数中填充什么图像,其结果将是源属性的参数,我相信任何类似
source:myfunction()
的东西都可能是图像本身的路径。只需更改
var str=“%1”。arg(styleData.date.getDate());
var str=“%1.arg(styleData.date.getDate()-1);
。如果我的答案帮助您将其标记为正确,请注意。Qml类似于javascript,因此我建议您研究如何在js中创建和使用函数