qabstractitemmodel相关内容

基类 'QAbstractListModel' 具有私有复制构造函数

我有一个 QT QML 项目.(还很小) 我首先在我的 UScenario 模型上绑定一个列表视图,通过子类化 QAbstractListModel 并且它工作得很好. 现在,每个 UScenario 都有一个 UTask 列表,其中也有一个 UCondition 列表(所以,Utask 也是 QAbstractListModel 的子类.但是随后,QT Creator 给了我一个错误 ..

如何从 qml 访问 ListView 的当前项

我有一个存储和编辑笔记的应用程序.笔记列表显示在列表视图中,如下所示: 页面{id:noteList标题:i18n.tr("QNote")可见:假柱子 {anchors.fill:父级列表显示 {anchors.fill:父级型号:笔记委托:ListItem.Standard {文字:标题onClicked: editNote(NoteText, Title, modelData);进展:真}} ..
发布时间:2022-01-19 22:41:31 其他开发

从 QAbstractListModel 中删除行

我有一个从 QAbstractListModel 派生的自定义模型,它暴露给 QML.我需要支持添加新项目和删除现有项目的操作.虽然插入操作没有任何问题,但删除操作会导致应用程序在调用 endRemoveRows() 函数时崩溃. void GPageModel::addNewPage(){if(m_pageList.count()setParent(this);page->setNumber ..
发布时间:2022-01-19 22:34:27 其他开发

如何为 QAbstractListModel 派生模型实现 QML ListModel 之类的 get 方法

我想在 QML 中使用 QAbstractListModel 派生模型.将模型绑定到视图已经很有效了. 接下来我想要实现的是访问特定项目及其角色的能力,就像使用 QML ListModel 一样 grid.model.get(index).DisplayRole 但我不知道如何在我的 QAbstractListModel 派生模型中实现这个 get 方法. 有什么提示吗? 解 ..
发布时间:2022-01-19 22:31:29 其他开发

“分组依据"代理模式

我有理论上无限深度的树模型和一些属性“组". 除了标准视图之外,我还需要以这样的方式显示此模型(并保持同步),使每个组成为具有相同属性值的所有项目的虚拟父项. 使用 Qt 的模型/视图架构实现这一目标的最佳方法是什么? 不久前我通过在模型中添加/删除项目时插入额外的虚拟“组"解决了类似的问题,但事实证明这种方法不是很灵活,所以我正在寻找更好的解决方案. 理想情况下,我现在看 ..

QAbstractItemModel 如何表示树?

我仍然很难理解 QAbstractItemModel 对项目的表示.有两种返回 QModelIndex 项的方法对我来说没有任何意义. QModelIndex QAbstractItemModel::index(int row, int column, const QModelIndex& index) 是第一个.传递给这个函数的视图是什么?我索引特定的树项以创建索引吗?如果是这样,这个函数的 ..
发布时间:2021-09-09 19:36:34 C/C++开发

QTreeView QAbstractItemModel 父级在删除项后崩溃,有时会崩溃

我正在尝试在 QTreeView 中构建一个小条目列表,并基于 在此处发布的示例中,我通过添加的右键单击上下文菜单删除了任何子项.但是当我删除它时,我的父树崩溃了.在某些情况下,如果我按特定顺序删除某个项目,则会崩溃 我的理解是,这是因为删除项目的索引会发生变化,并且为了防止可以根据此线程使用 QtCore.QPersistentModelIndex():如何删除QTableView小部件中 ..
发布时间:2021-06-24 20:00:18 Python

如何使用 PYQT QAbstractItemModel 正确处理拖放

这是我在疯狂使用 TreeView/Model 两天后得到的代码.这个主题似乎比我想象的要广泛得多.我几乎不能花这么多时间来创建一个单一的小部件.反正.已启用 TreeView 项目的拖放功能.但除了一些有趣的打印输出之外,没有太多.双击一个项目允许用户输入一个不会被选中的新项目名称. 一天后修改代码. 现在是 90% 的功能性工具. 用户可以通过拖放、创建/复制/删除和重命名来 ..

Python + QT中的TreeView

我需要制作一个4列的treeView,其中第一个带有复选框柱子.我做了树视图,只是我没有把第一栏中的复选框.我尝试过,但它能使我处于各个位置(行,列)........... 这是我的代码: import sys从PyQt4.QtCore导入*从PyQt4.QtGui导入*从复制导入深度复制从cPickle导入转储,装载,装载从cStringIO导入StringIO类myNode(obje ..
发布时间:2021-04-21 20:44:07 其他开发

具有QStandardItemModel的QTableView:如何在编辑单元格期间执行实时更新?

最近,我切换到了QT.这花了一些时间,但我开始找到解决方法.但是,仍然存在一个问题: 我想移植一个程序,该程序在编辑表视图(带有QStandardItemModel的QTableView)中的单元格时响应每次按键.这个想法是在用户在表视图的单元格中输入文本时,在单独的表单上显示和更新可能性列表.每次击键后,都需要根据某个单元格的编辑字段中的当前文本来更新列表. 使用QTableView ..
发布时间:2020-07-05 00:24:03 其他开发

可编辑的可重排序(通过拖放)Qt5 QTreeView示例

在找不到Qt5的QTreeView的体面通用分层可重排序的拖放示例之后,我尝试相应地转换可编辑树模型示例代码. 有一个相关的问题记录在: 在PyQt中具有拖放支持的QTreeView ,但是PyQt4本身不是问题(无论如何我都会将其转换为PyQt;)),treeview +抽象模型无法正常工作.至少,它不会在这里重新排序任何项目. 此示例代码也无法正常工作:它允许移动项目,但是将其删除 ..
发布时间:2020-07-05 00:22:54 C/C++开发

专门用于添加列的QAbstractProxyModel:表单元格为空

我已经创建了一个类似于mixin的代理模型(Qt5),该模型仅向另一个代理模型添加了第一列,用于向表视图的每一行添加操作的QToolBar(例如,“删除"按钮).该模型仅提供一种为第一列填充QList的方法.委托人必须知道每个QVariant(通常是int s/enum识别动作)的含义,并相应地填充QToolBar.作为最后一个功能,如果没有任何操作,则不会添加任何额外的列(在 ..
发布时间:2020-07-05 00:22:47 其他开发

QTreeView和QAbstractItemModel

我是Qt的新手,我正在尝试基于平面(或来自sqlite表)文件路径列表(而不是来自FS)制作一棵简单的树,如下所示: C:\Parent1\Child1\Leaf1.jpg C:\Parent1\Child1\Leaf2.jpg C:\Parent1\Child1\Leaf3.jpg C:\Parent1\Child2\Leaf1.jpg C:\Parent1\Child2\Leaf2.jp ..
发布时间:2020-07-05 00:22:37 其他开发

QTreeView:维护QModelIndex和基础数据之间的映射

我从QTreeWidget迁移到QtreeView时遇到问题.在视图中,用QTreeWidget显而易见的琐碎事情似乎是不可能的.具体来说:我有一个带有树视图的主窗口. TreeView使用我已经实现的模型,但不是直接使用-通过设置为树模型的QSortFilterProxyModel.现在,用户激活树中的一个项目,并且主窗口接收到信号itemActivated(QModelIndex item). ..
发布时间:2020-07-05 00:22:26 C/C++开发

删除行时QModelIndex变为无效

我将QAbstractItemModel子类化以显示QTreeView中的项目,并且在此子类(projectModel)中,我具有删除树状视图中当前选定索引的功能. Component是用于表示模型的所有成员的类: void projectModel::deleteComponent() { QModelIndex child_index = _treeview->selection ..
发布时间:2020-07-05 00:22:13 C/C++开发