问题标签 [qabstractitemmodel]
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.
python-2.7 - Python+QT 中的 TreeView
我需要制作一个包含 4 列的树视图,并在第一列中带有一个复选框。我做了树视图,只是我没有把复选框放在第一列。我试过了,但它让我处于每个位置(行,列)............
这是我的代码:
qt - 如何解决qtreeview装饰错误
我有一些奇怪的行为 QTreeView + QAbstractItemModel。我的模型树数据显示正确,但是树装饰错误,见附图(红线标示)。对于项目“System:s6”,您可以看到附加行。
我只是想知道是我的模型实现错误还是其他错误?有什么问题?
UPD:rowCount(QModelIndex & parent)函数的调试输出
UPD2:qt 4.8.0
qt - 动态树模型 (Qt)
我用 aQAbstractItemModel
来表示一个树模型(最多几个猎物)。数据本身是动态的,任何时候节点都可能出现或消失,值(或其他角色)可能会发生变化。
更改模型很容易;我想知道如何有效地发出信号以通知 QTreeView 的变化(它的大部分节点都折叠了)。
在任何给定时间,多个更改可能同时发生(行插入和/或删除)。
- 使用///
beginInsertRows
-endInsertRows
不应该有一个方法来通知视图多次更改吗beginRemoveRows
?endRemoveRows
- 就性能而言,最佳策略是什么?例如,从叶子开始直到每个节点的根 / 从下到上(相对于从上到下)/在插入之前删除 / 等等。
- 会
beginResetModel
/endResetModel
必然会降低效率吗? - 使用有什么好处
QStandardItemModel
吗?(对于这种特定情况)。
qt - 具有 QAbstractItemModel 和父级在数据模型中未知的 QTreeView
我想使用 QTreeView 来可视化我的类层次结构。该层次结构是给定的,我无法更改它。但是 QAbstractItemModel 迫使我在其中实现 parent() 方法。我怎样才能做到这一点?
所以我有:
我怎样才能实现一个QModelIndex parent(const QModelIndex &index) const;
方法QAbstractItemModel
?
c++ - 将新项目添加到基于 QAbstractListModel 的模型时,QML 视图不会更新
我已经弄清楚如何将派生自 QAbstractListModel 的模型绑定到 QML 视图。
但是接下来我累了就不行了。如果将新项目添加到模型中,QML 视图将不会更新。这是为什么?
数据对象.h
简单列表模型.h
简单列表模型.cpp
AppCore.h
AppCore.cpp
主文件
main.qml
c++ - 将由 QAbstractListModel 派生的类提供的 QIcon 绑定到 QML Image
我尝试将由 QAbstractListModel 派生的类提供的 QIcon 绑定到 QML Image,如下所示:
但这会导致此错误:
无法将 QIcon 分配给 QUrl
如何正确执行此操作?
pyqt - PyQt:人类语言中的 QTreeView 和 QAbstractItemModel
在深入研究 TreeView/Model 概念的同时,这是我到目前为止“理解”的内容......
首先,我继承了MyTreeView () 类,通过将QTreeView内置分配给MyOwnAbstractItemModel ()模型来扩展它(下一步中的子类化):
我继续继承/描述MyOwnAbstractItemModel ()。它使用内置的 QAbstractItemModel() 类作为“模板”开始...
据我了解,必须声明一些MyOwnAbstractItemModel()方法才能使 MODEL 工作。我想知道在哪里可以获得这些方法()名称及其语法描述的完整列表?
我查看了在线发布的代码示例。看起来那些预定义的方法已经预定义了特定的语法......例如传入参数的数量以及预期的参数类型......例如,下面的方法没有得到任何传入参数(不清楚是什么它的目的):
但是这个方法:
接受四个参数。请指教!提前谢谢了。
pyqt - 如何使用 PYQT QAbstractItemModel 正确处理拖放
这是我在两天的 TreeView/Model 疯狂之后结束的代码。这个主题似乎比我想象的要广泛得多。我几乎不能花这么多时间来创建一个单一的小部件。反正。TreeView 项目的拖放功能已启用。但除了一些有趣的打印输出之外,没有多少。双击一个项目允许用户输入一个不会被拾取的新项目名称。
一天后用修改后的代码编辑。
它现在是 90% 的功能性工具。
用户可以通过拖放、创建/复制/删除和重命名来操作 TreeView 项目。TreeView 项目在通过点击“打印”按钮在驱动器上创建之前以分层方式表示目录或文件夹(而不是 os.makedirs() 该工具仍然只是将每个目录打印为字符串。
我会说我很漂亮对结果感到满意。感谢hackyday以及所有回答并帮助解决我的问题的人。
最后的几个愿望...
愿望号码01:
- 我希望 PrintOut() 方法将使用更优雅、更智能的函数来循环遍历 TreeView 项目以构建传递给 make_dirs_from_dict() 方法的字典。
愿望号码02:
- 我希望删除这些项目会更稳定。由于某种未知原因,工具在第三次/第四次单击删除按钮时崩溃。到目前为止,我无法追查问题。
一个愿望03:3。祝大家一切顺利,感谢您的帮助:
qt - 跟踪 QStandardItem 生命周期
我正在为 QStandardItemModel 编写一些包装器。是否可以跟踪 QStandardItems 的生命周期(删除事件)?
我认为唯一的方法是interhit QObject + QStandardItem。但由于某些原因,我不想这样做。
更新:
当从模型中删除该项目时,我需要删除包含指向 QStandardItem 的指针的对象。
这是解决方案。但我想对外部(不是我的)QStandardItem 做同样的事情。
qt - 基类 'QAbstractListModel' 具有私有复制构造函数
我有一个 QT QML 项目。(仍然很小)
我首先在我的UScenario
模型上绑定一个列表视图,通过子类化QAbstractListModel
,它工作得很好。
现在,每个UScenario
都有一个列表UTask
,其中也有一个列表UCondition
(所以,Utask
还有子类QAbstractListModel
)。但是,QT Creator 给了我一个错误:
所以我不确定我的问题在哪里。我尝试阅读有关QAbstractListModel
vs的文档QAbstractItemModel
,但我不知道。
我还试图看看我是否曾经UTask
以错误的方式构建过;我想不是。