问题标签 [qmodelindex]
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.
c++ - Qt QModelIndex::sibling 返回父 QModelIndex
拥有一个 QAbstractItemModelgrModel
并调用:
结果:grSrcPrtIdx == grSrcIdx1
withgrSrcPrtIdx
包含预期的数据grSrcPrtIdx
whilegrSrcIdx2
包含同级的预期数据。我的期望是这样grSrcIdx1 == grSrcIdx2
。
似乎兄弟函数提供了一个默认的实现(或类似的东西?)。
兄弟姐妹功能不传递兄弟姐妹的原因可能是什么QModelIndex
?我错过了实现的功能QAbstractItemModel
吗?
使用的 Qt 版本是 Qt 5.10.0 (MinGw)。
sql - Qt:在数据库表中存储树(QTreeView + QStandardItemModel)
从标题可以看出,我使用了一个 QStandardItemModel 来存储一个树状结构。我在 QTreeView 中操作这个结构,而不是我需要以这种格式将它保存在数据库中:
代表这种结构:
换句话说,“id”唯一地代表一个节点,“parent”字段是对父节点的引用。根节点是一个空字段。
我的问题是:如何从 QStandardItemModel 获取唯一的 id(int 格式)?我试过 QModelIndex::row() 和 QPersistentModelIndex::row() 但它似乎不是唯一的。
非常感谢。
qt - QML:如何在 TreeView 内的委托中获取 QModelIndex
我在 qml 中有一个代表TreeView
。我想得到它的QModelIndex
. 通过
我只得到代表所在的行号。但是,我需要将 a 传递QModelIndex
给 c++ 端(制作 aQPersistentModelIndex
并将其存储以备后用)。
c++ - 从 QAbstractItemModel 返回自定义用户类型
我有一个QAbstractItemModel
包装一些自定义数据(指针向量)。我将此模型与QSortFilterProxyModel
,QTreeView
等一起使用。
将其他逻辑连接到selectionChange
信号时,我需要用户数据。不是对它的一些看法,而是指针本身。
我在 data 方法中添加了一个特殊情况。
QVariant data(const QModelIndex &index, int role) const override
当我将 -1 作为 a 传入时role
,我返回一个指向变体中我的用户类型的指针。这很hacky,必须有更好的“官方”方式来做到这一点。
如何从 aQModelIndex
等返回基础模型数据?谢谢你。
c++ - 在 QListView 中显示最后一个元素
这听起来微不足道,但我找不到在 QListView 中显示最后添加的元素的函数。
它适用于模型
添加元素
在这个函数中,显示的元素也应该是最后一个。
qt - Qt5 什么是 const QModelIndex &sourceParent
我正在尝试在 QTableView 中移动一行。
我知道当前的行索引和预期的行索引。我正在尝试使用 QAbstractItemModel::moveRow 但参数const QModelIndex &sourceParent遇到了最严重的问题
您能否向我解释一下const QModelIndex &sourceParent是什么,并举例说明如何设置?
或者告诉我在 QTableView 中移动一行的更直接的方法?
python - 需要将一行代码从 C++ Qt 翻译成 PyQt
这相当于什么
在 Python 中,如果我的 listView 是 self.listView
这就是我需要知道的,我花了几个小时试图寻找一个问题的答案,但我只在 C++ 中找到了它。
编辑:
基本上,在 PyQt 中,要访问 QListView 的索引,您需要使用 QModelIndex,所以我对如何在 QListView 上应用 QModelIndex 感到困惑。
c++ - Qt:remove() 和 rmdir() 有什么区别
“rmdir”似乎是用来删除目录的,但我也成功地用“remove”删除了目录。拥有“rmdir”而“remove”可以做同样的工作有什么意义?
c++ - QAbstractListModel.match() 导致 QList 中的 ASSERT 失败::operator[]: "索引超出范围"
我正在使用 QAbstractListModel.match() 搜索项目的索引(如果它存在于模型中)。
找不到该项目时,会发生此错误:
手册上说:“返回的列表可能是空的。” 之后应该使用 QModelIndex.isValid() 检查 QModelIndex
那么为什么在我检查索引之前没有任何匹配项时程序会崩溃?