问题标签 [listmodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
60 浏览

qt - 如何读取 main.qml 中的 listmodel 角色属性?

在 main.qml 中,我在每个函数 addItem() 调用上动态更新 listModel。在这里,我设置了两个角色;buttonTypeRole 和来源。OneText.qml 文件有一个文本字段。实际上,在将 buttonTypeRole 和 source 插入 listModel 之后,我想知道 source 是否被截断。

有什么方法可以读取 main.qml 文件中的 OneText.qml 文本截断属性吗?

main.qml

listModel 和 ListView 快照:

buttonTypeRole :OneText.qml 快照

0 投票
1 回答
47 浏览

menu - QtQuick:从 ListModel 创建菜单

我是论坛的新手,我开始在 QtQuick 中设计一些东西。我仍在探索和学习基本的东西,我偶然发现了以下问题。当我尝试使用 Listview 从 ListModel 创建菜单(菜单栏)时,我根本没有得到任何菜单。也许我对这些原则仍有误解,你可以帮助我。这是我的基本代码:

我从 qt 站点获取了我的示例,并通过添加 ListModel 对其进行了篡改。同样有趣的是,如果我想通过使用我打包 MenuItem 并调用组件的组件来重构原始编码,它也不起作用。是不是一般菜单的工作方式与其他项目不同?如果我遗漏了一些重要的东西,请告诉我,我会添加更多信息。

此致!

0 投票
0 回答
54 浏览

string - 将列表模型中的所有值组合成一个字符串

我有以下内容:

我想定义一个将所有“名称”字段组合成逗号分隔字符串的变量,但我必须在 for 循环中执行此操作,因为我经常将新元素附加到“myModel”。像这样的东西:

导致:

0 投票
0 回答
121 浏览

javascript - 尝试使用预定义变量附加 listmodel 时出错

我正在尝试使用变量附加到列表:

如果我输入它,它会起作用:

如果我尝试按照我的意图去做,我会收到一个错误(无法分配给不同类型的现有角色“名称”[VariantMap -> String]):

我在其他地方使用相同的变量作为字符串,没有问题:

我究竟做错了什么?

编辑:好的,我想我缩小了问题的范围。我认为问题在于函数 Qt.rgba(),它为我提供了用户定义颜色的十六进制代码。我可以在任何地方将此函数的输出用作字符串(即标签、写入内存等)。但附加到列表模型会失败。我猜我误解了 Qt.rgba 输出是什么。这是我的最小可重复性。

编辑2:我让它工作,但我所做的完全是愚蠢的。我可以显示 Qt.rgba() 的输出,就好像它是一个字符串:

我得到一个十六进制代码。我可以通过以下方式输出到内存:

为什么我不能将 Qt.rgba() 输出直接输入到 listmodel.append() 我不确定:

我将它分配为字符串,然后将其转换回十六进制代码,它可以工作:

我很想知道为什么会这样。网站上的 Qt.rgba 细节特别神秘,我不明白为什么我可以将输出显示为文本,将其作为字符串输出到内存,但不能在 listModel.append() 函数中使用作为一个字符串。有任何想法吗?

0 投票
1 回答
258 浏览

qt - 如何遍历 QML ListModel 的所有元素?

您如何遍历QMLListElement中的所有个体?ListModel

0 投票
1 回答
161 浏览

qt - 中继器中的 ListModel

将 ListModel 用于中继器时,如果未在模型的第一个元素中设置属性,则不会在以下元素中考虑该属性。为什么?

这段代码没问题:

0 投票
1 回答
107 浏览

qt - 类型错误:无法在嵌套列表视图中读取 null 的属性“newdaycalendar”,其中 listmodel 动态创建 qml

每次我在 qmlscene 中运行以下代码时都会发生此错误。在代码中,有 3 个嵌套ListView的 s 用 s 动态填充ListModel。内部ListView称为 daylistView ,外部称为 dayCalendar 和第三个月的dayCalendar。它们中的每一个都相应地代表一天中的小时,日和月MouseArea 。当我单击时,会打开一个窗口,因此我可以将 a 的文本设置Label为特定小时。

当我运行代码并单击鼠标区域时,会打开设置标签文本的窗口并显示上述错误。但是如果我连续更改显示的日期 2 或 3 次,则代码运行没有错误,直到我从另一个月中选择一天。按照相同的方法,在我手动更改日期 2 或 3 次后,错误停止显示。

我该如何解决这个问题,因为每次显示此错误时,我都无法在LabelnotesLabel 中设置文本。

下面是一些扣除的代码,所以更紧凑:

0 投票
1 回答
139 浏览

qt - 如何在 qml 中实现嵌套列表模型

是否可以实现 3 ListModels(一个在另一个里面),如果可以,我该怎么做?3 ListModels 是相应的小时日和月。换句话说,我想要一个模型内的小时模型内的日模型内的月模型,我将在嵌套ListView的 s(其中 3 个)中使用它们来显示小时日历中的日期和月份。我在下面做了一个尝试:

但我无法完成它。此外,当我运行我的代码时,我遇到了一些类型错误问题hourlistModel 。我的嵌套列表视图坚持未定义,我不知道为什么。无论如何回到我的问题,我怎样才能继续上面 listmodel显示 24 小时、31 天和 12 个月?

0 投票
1 回答
265 浏览

qt - TypeError:无法读取 qml 中未定义的属性“天”

下面是我收到上述错误的代码片段。days是嵌套模型:

下面是listmodel嵌套模型:

应用程序代码在下面的链接中

https://gist.github.com/cgiannakidis70/a5f0f73440013424fc0dedd7e3300f75

如何解决上述错误?

提前致谢。

0 投票
0 回答
43 浏览

qt - QML 动态更新 ListModel

我在某些时候感到困惑,QML因为我是新手。简化的 QML 代码定义了一个包含一个 ListView 的窗口,其中包含我的委托项目。一键加载和卸载此 ListView 元素。当我加载和卸载 ListView 元素时,我在 TextInput 中编写的所有文本都会按照我的预期从 listModel 中重置。所以我需要动态更新 listModel,这样我就不会丢失我在 TextInput 中写的文本。我在 TextInput 中添加了 Keys.onPressed 来实现这一点。但它适用于一些逻辑错误。当我输入时,假设“aaaa”,然后我卸载 ListView 并通过 Button 再次加载,我得到的是“aaa”(最后一个字母没有传递给 listModel)。这是可以理解的,但在此示例中如何动态更新列表模型角色?

main.qml

ListArea.qml:

应用程序窗口截图