问题标签 [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.

0 投票
1 回答
72 浏览

c++ - 同步选择可排序的 QTableWidgets

我有两个 QTableWidget,具有相同的行数和列数。现在,一个表中的每个选择都应该自动更新另一个表中的选择,反之亦然。

以下代码可以正常工作,但有一个例外:

如果我对一列进行排序,则会发生异常。在这种情况下,wrong项目在另一个表中被选中。

如果启用排序,则会发生错误选择。

换句话说,选择同步的行为应该独立于选择的排序。我的表格的内容只是示例。

实现所需行为的最简单方法可能是什么?

0 投票
0 回答
985 浏览

c++ - Qt QModelIndex::sibling 返回父 QModelIndex

拥有一个 QAbstractItemModelgrModel并调用:

结果:grSrcPrtIdx == grSrcIdx1withgrSrcPrtIdx包含预期的数据grSrcPrtIdxwhilegrSrcIdx2包含同级的预期数据。我的期望是这样grSrcIdx1 == grSrcIdx2

似乎兄弟函数提供了一个默认的实现(或类似的东西?)。

兄弟姐妹功能不传递兄弟姐妹的原因可能是什么QModelIndex?我错过了实现的功能QAbstractItemModel吗?

使用的 Qt 版本是 Qt 5.10.0 (MinGw)。

0 投票
1 回答
314 浏览

sql - Qt:在数据库表中存储树(QTreeView + QStandardItemModel)

从标题可以看出,我使用了一个 QStandardItemModel 来存储一个树状结构。我在 QTreeView 中操作这个结构,而不是我需要以这种格式将它保存在数据库中:

代表这种结构:

换句话说,“id”唯一地代表一个节点,“parent”字段是对父节点的引用。根节点是一个空字段。

我的问题是:如何从 QStandardItemModel 获取唯一的 id(int 格式)?我试过 QModelIndex::row() 和 QPersistentModelIndex::row() 但它似乎不是唯一的。

非常感谢。

0 投票
1 回答
1002 浏览

qt - QML:如何在 TreeView 内的委托中获取 QModelIndex

我在 qml 中有一个代表TreeView。我想得到它的QModelIndex. 通过

我只得到代表所在的行号。但是,我需要将 a 传递QModelIndex给 c++ 端(制作 aQPersistentModelIndex并将其存储以备后用)。

0 投票
2 回答
964 浏览

c++ - 从 QAbstractItemModel 返回自定义用户类型

我有一个QAbstractItemModel包装一些自定义数据(指针向量)。我将此模型与QSortFilterProxyModel,QTreeView等一起使用。

将其他逻辑连接到selectionChange信号时,我需要用户数据。不是对它的一些看法,而是指针本身。

我在 data 方法中添加了一个特殊情况。 QVariant data(const QModelIndex &index, int role) const override

当我将 -1 作为 a 传入时role,我返回一个指向变体中我的用户类型的指针。这很hacky,必须有更好的“官方”方式来做到这一点。

如何从 aQModelIndex等返回基础模型数据?谢谢你。

0 投票
2 回答
895 浏览

c++ - 在 QListView 中显示最后一个元素

这听起来微不足道,但我找不到在 QListView 中显示最后添加的元素的函数。

它适用于模型

添加元素

在这个函数中,显示的元素也应该是最后一个。

0 投票
1 回答
85 浏览

qt - Qt5 什么是 const QModelIndex &sourceParent

我正在尝试在 QTableView 中移动一行。

我知道当前的行索引和预期的行索引。我正在尝试使用 QAbstractItemModel::moveRow 但参数const QModelIndex &sourceParent遇到了最严重的问题

您能否向我解释一下const QModelIndex &sourceParent是什么,并举例说明如何设置?

或者告诉我在 QTableView 中移动一行的更直接的方法?

0 投票
1 回答
56 浏览

python - 需要将一行代码从 C++ Qt 翻译成 PyQt

这相当于什么

在 Python 中,如果我的 listView 是 self.listView

这就是我需要知道的,我花了几个小时试图寻找一个问题的答案,但我只在 C++ 中找到了它。

编辑:

基本上,在 PyQt 中,要访问 QListView 的索引,您需要使用 QModelIndex,所以我对如何在 QListView 上应用 QModelIndex 感到困惑。

0 投票
1 回答
310 浏览

c++ - Qt:remove() 和 rmdir() 有什么区别

“rmdir”似乎是用来删除目录的,但我也成功地用“remove”删除了目录。拥有“rmdir”而“remove”可以做同样的工作有什么意义?

0 投票
1 回答
129 浏览

c++ - QAbstractListModel.match() 导致 QList 中的 ASSERT 失败::operator[]: "索引超出范围"

我正在使用 QAbstractListModel.match() 搜索项目的索引(如果它存在于模型中)。

找不到该项目时,会发生此错误:

手册上说:“返回的列表可能是空的。” 之后应该使用 QModelIndex.isValid() 检查 QModelIndex

那么为什么在我检查索引之前没有任何匹配项时程序会崩溃?