问题标签 [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.
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 快照
menu - QtQuick:从 ListModel 创建菜单
我是论坛的新手,我开始在 QtQuick 中设计一些东西。我仍在探索和学习基本的东西,我偶然发现了以下问题。当我尝试使用 Listview 从 ListModel 创建菜单(菜单栏)时,我根本没有得到任何菜单。也许我对这些原则仍有误解,你可以帮助我。这是我的基本代码:
我从 qt 站点获取了我的示例,并通过添加 ListModel 对其进行了篡改。同样有趣的是,如果我想通过使用我打包 MenuItem 并调用组件的组件来重构原始编码,它也不起作用。是不是一般菜单的工作方式与其他项目不同?如果我遗漏了一些重要的东西,请告诉我,我会添加更多信息。
此致!
string - 将列表模型中的所有值组合成一个字符串
我有以下内容:
我想定义一个将所有“名称”字段组合成逗号分隔字符串的变量,但我必须在 for 循环中执行此操作,因为我经常将新元素附加到“myModel”。像这样的东西:
导致:
javascript - 尝试使用预定义变量附加 listmodel 时出错
我正在尝试使用变量附加到列表:
如果我输入它,它会起作用:
如果我尝试按照我的意图去做,我会收到一个错误(无法分配给不同类型的现有角色“名称”[VariantMap -> String]):
我在其他地方使用相同的变量作为字符串,没有问题:
我究竟做错了什么?
编辑:好的,我想我缩小了问题的范围。我认为问题在于函数 Qt.rgba(),它为我提供了用户定义颜色的十六进制代码。我可以在任何地方将此函数的输出用作字符串(即标签、写入内存等)。但附加到列表模型会失败。我猜我误解了 Qt.rgba 输出是什么。这是我的最小可重复性。
编辑2:我让它工作,但我所做的完全是愚蠢的。我可以显示 Qt.rgba() 的输出,就好像它是一个字符串:
我得到一个十六进制代码。我可以通过以下方式输出到内存:
为什么我不能将 Qt.rgba() 输出直接输入到 listmodel.append() 我不确定:
我将它分配为字符串,然后将其转换回十六进制代码,它可以工作:
我很想知道为什么会这样。网站上的 Qt.rgba 细节特别神秘,我不明白为什么我可以将输出显示为文本,将其作为字符串输出到内存,但不能在 listModel.append() 函数中使用作为一个字符串。有任何想法吗?
qt - 如何遍历 QML ListModel 的所有元素?
您如何遍历QMLListElement
中的所有个体?ListModel
qt - 中继器中的 ListModel
将 ListModel 用于中继器时,如果未在模型的第一个元素中设置属性,则不会在以下元素中考虑该属性。为什么?
这段代码没问题:
qt - 类型错误:无法在嵌套列表视图中读取 null 的属性“newdaycalendar”,其中 listmodel 动态创建 qml
每次我在 qmlscene 中运行以下代码时都会发生此错误。在代码中,有 3 个嵌套ListView
的 s 用 s 动态填充ListModel
。内部ListView
称为 daylistView ,外部称为 dayCalendar 和第三个月的dayCalendar。它们中的每一个都相应地代表一天中的小时,日和月MouseArea
。当我单击时,会打开一个窗口,因此我可以将 a 的文本设置Label
为特定小时。
当我运行代码并单击鼠标区域时,会打开设置标签文本的窗口并显示上述错误。但是如果我连续更改显示的日期 2 或 3 次,则代码运行没有错误,直到我从另一个月中选择一天。按照相同的方法,在我手动更改日期 2 或 3 次后,错误停止显示。
我该如何解决这个问题,因为每次显示此错误时,我都无法在Label
notesLabel 中设置文本。
下面是一些扣除的代码,所以更紧凑:
qt - 如何在 qml 中实现嵌套列表模型
是否可以实现 3 ListModels
(一个在另一个里面),如果可以,我该怎么做?3 ListModel
s 是相应的小时日和月。换句话说,我想要一个模型内的小时模型内的日模型内的月模型,我将在嵌套ListView
的 s(其中 3 个)中使用它们来显示小时日历中的日期和月份。我在下面做了一个尝试:
但我无法完成它。此外,当我运行我的代码时,我遇到了一些类型错误问题hourlistModel
。我的嵌套列表视图坚持未定义,我不知道为什么。无论如何回到我的问题,我怎样才能继续上面 listmodel
显示 24 小时、31 天和 12 个月?
qt - TypeError:无法读取 qml 中未定义的属性“天”
下面是我收到上述错误的代码片段。days
是嵌套模型:
下面是listmodel
嵌套模型:
应用程序代码在下面的链接中
https://gist.github.com/cgiannakidis70/a5f0f73440013424fc0dedd7e3300f75
如何解决上述错误?
提前致谢。
qt - QML 动态更新 ListModel
我在某些时候感到困惑,QML
因为我是新手。简化的 QML 代码定义了一个包含一个 ListView 的窗口,其中包含我的委托项目。一键加载和卸载此 ListView 元素。当我加载和卸载 ListView 元素时,我在 TextInput 中编写的所有文本都会按照我的预期从 listModel 中重置。所以我需要动态更新 listModel,这样我就不会丢失我在 TextInput 中写的文本。我在 TextInput 中添加了 Keys.onPressed 来实现这一点。但它适用于一些逻辑错误。当我输入时,假设“aaaa”,然后我卸载 ListView 并通过 Button 再次加载,我得到的是“aaa”(最后一个字母没有传递给 listModel)。这是可以理解的,但在此示例中如何动态更新列表模型角色?
main.qml
ListArea.qml: