问题标签 [qabstractlistmodel]
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 - 从 QAbstractItemModel 或 QAbstractListModel 创建树型模型
根据下面的代码,我需要创建一个模型,该模型将具有 N 个"System",每个"System"将具有 N 个"SytemDatabase",每个"SytemDatabase"将具有 N 个"CoresData"。这个 N 号将在应用程序启动期间获知。
目前我已经使用 ListModel 设计了这个模型并且它工作正常。现在由于某种原因,我需要将此模型移动到 cpp 端并将该模型传递给 qml。下面是QML代码供参考
考虑模型是在 cpp 端开发的,参考上面的 cpp 类 Sytem、SytemDatabase 和 CoresData ,并且在 qml 代码中传递和使用相同的模型,如下所示
我已经了解了 QAbstractListModel、QAbstractItemModel 和 QAbstractTableModel 的概念。但是我正在寻找一个像一个列表模型这样的模型,每个列表元素都将包含一个树状结构,如上面在类中提到的那样。要求任何人建议如何创建一个具有树状结构的模型。以及哪个 QAbstractxxxxxx 模型将是正确的来实现这个概念。在 QML 方面,我想通过索引直到 coresData 访问数据,就像上面的 QML 代码一样。
提前致谢。
qt - 如何使用动态更新属性更新 ListElement (QML) 值字段
在下面的代码中,属性__operatingModus_season
每 30 秒更新一次。但在前端,我看不到任何价值或变化。如果我错了,请多多指教。
c++ - QTableView 中的大量数据
我正在尝试在 QTableView 中添加大量数据。由于有大量数据,为了避免冻结应用程序,我试图使用 aQAbstractTableModel
不立即显示整个数据集,而只显示必要的。基于此(HERE)的 QT 示例,我有以下类:
FileListModel.cpp
文件列表模型.h
在我的窗口中,我有 aQTableView
和 5 QList<float>
,每个代表一列。我以这种方式在我的 QTableView 中添加数据:
但是,添加的最后一个列表 ( list5
) 替换了前一个列表,并且我在所有列中只有相同的文本。我知道我需要编写所需的代码来添加列。但老实说,我对这些QAbstract
课程不太了解,也不知道如何进行。如果您能给我一些提示或示例,说明如何修改我的代码以便在我的模型中添加列,我将不胜感激。
qt - 将 QAbstarctListModel 拆分为子模型
我有一个自定义对象列表,我需要在 SwipeView 的多个页面中拆分这些对象。
现在,我实现了一个 QAbstractListModel,通过自定义角色将数据提供给我的 QML 视图。但是当我有超过给定数量的对象时,我需要将我的模型分成多个块,这些块将显示在 SwipeView 的不同页面上。
例如,如果我的模型有 20 个对象,我的 SwipeView 将有 2 个页面,第一个页面中有 12 个项目,第二个页面中有 8 个剩余项目,但项目的数量当然是动态的。
我知道我可以使用 QSortProxyFilter 或 DelegateModel 来根据条件过滤我的模型,但我不知道如何使用它们来创建可用作 SwipeView 页面内容的子模型的组。因为当然,我不能只在页面更改时更改过滤器,因为当从一页滑动到另一页时,这不会使项目可见。
感谢您提供有关如何实现此目的的任何提示或想法。
python - 可重新排序的列表视图不调用 removeRows()
我正在尝试实现一个能够执行内部移动(MoveAction)以及接受来自外部的拖放(CopyAction)的列表视图。
我在一些网站上读到,如果我们 dropMimeData() 以 True 返回到 QtCore.Qt.MoveAction,Qt 将调用 removeRows()。但是,下面列出的我的代码从未打印过“removeRows() called”。
我自己不能在 dropMimeData() 中调用它,因为我不知道应该删除哪个索引。(而且我认为你不应该自己做)
此外,我发现如果将它移动到原始索引之前或之后的条目,这很重要。(之前 = 我们现在需要删除旧索引加 1)
这是我的自定义 ListView 中创建 Drag 的方法