问题标签 [qstandarditemmodel]

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 回答
3623 浏览

python - 具有自定义数据方法的自定义 QStandardItemModel

我想做的是,我想用可检查的项目制作一个 listView。我能够使用 QStandardItemModel 作为我的模型来做到这一点。现在我需要做的是添加一些需要自定义数据方法的功能。因此,正如我们所做的那样,我将 QStandardItemModel 子分类为一个类并将其指定为模型,用于 listView。现在我面临的问题是,listView 只显示文本而没有检查选项。

这是我正在尝试的一段代码。我在网上搜索,找到任何显示如何自定义 QStandardItemModel 的示例,但没有得到。

0 投票
3 回答
382 浏览

qt - 跟踪 QStandardItem 生命周期

我正在为 QStandardItemModel 编写一些包装器。是否可以跟踪 QStandardItems 的生命周期(删除事件)?

我认为唯一的方法是interhit QObject + QStandardItem。但由于某些原因,我不想这样做。

更新:

当从模型中删除该项目时,我需要删除包含指向 QStandardItem 的指针的对象。

这是解决方案。但我想对外部(不是我的)QStandardItem 做同样的事情。

0 投票
1 回答
1215 浏览

c++ - QT - QTableView removeRow() 崩溃

此函数应从我的 QStandardItemModel 中删除一行,该模型附加到 QTable 视图。

奇怪的是程序在最后一条指令处崩溃,tableModel->removeRow(index); 并且它没有超出范围,因为tableModel->item(index,0)它是有效的。那会是什么?

0 投票
1 回答
2305 浏览

qt - 带复选框的 QComboBox

我正在创建带有复选框的 QComboBox。如何防止鼠标单击时视图折叠?我希望能够设置复选框,但是每次单击项目时- QComboBox 的下拉菜单都会折叠。

注意:目前我正在调试 Qt 源代码并寻找解决方法......

0 投票
1 回答
960 浏览

qt - 从 QStandardItemModel 中删除 QStandardItems

我正在尝试QStandardItemsQStandrditemModel使用中删除QPersistentIndex。项目已成功删除,但在遍历模型时,已删除的行显示为没有任何数据。

我正在使用以下代码删除项目:

截图

0 投票
2 回答
7021 浏览

c++ - 如何从 QStandardItemModel 中删除所有项目

我的QStandardItemModel. 我要做的是在我的模型中添加一个列表,当列表更新时,我在参数中传递新列表,清除旧模型并添加新列表。这听起来很简单,但我遇到了一个我无法弄清楚的错误。当我将第一个列表添加到模型时没有问题,但是当我添加第二个列表时,第一个列表被成功删除(我可以在控制台中看到)但随后应用程序崩溃。

这是我的代码:

显然我已经尝试使用该方法clear();而不是逐行删除,但它具有相同的结果。

我不明白为什么这段代码不起作用。

如果有人能对此事有所了解,我将不胜感激。

0 投票
1 回答
7232 浏览

python - PyQT——如何使 QTreeview 不可编辑但也可选择?

我刚从 wxPython 切换到 PyQT,我在使用 QTreeview 时遇到了一些问题。我有一个 QTreeview,它将显示分类为可扩展部分的数据,但此 TreeView 中的数据不应该是可编辑的,但我需要能够让用户选择数据(双击将执行另一种方法)。我不确定如何使它只读但也可选择。我正在使用 QStandardItemModel 和 QStandardItem 来保存数据。

任何帮助将非常感激。

0 投票
1 回答
1488 浏览

pyqt - 如何从多列 PyQT Qtreeview 中获取整行?

我对 PyQT 比较陌生,我一直在努力研究,但我找不到这个问题的答案。基本上我所拥有的是一个 QTreeView,它填充了来自 QStandardItemModel 的数据。此数据有 2 列,并且有各种标题将展开。当我双击 Treeview 中的一个项目时,我需要能够检索存储在 QStandardItemModel 中的整行,但我似乎只能获得被选中的单个单元格。我现在配置了以下内容,但它只返回双击的单个单元格

index = self.treeview.currentIndex() print index.data().toString()

我可以尝试根据选择的单元格搜索模型 b/c 它可能列出的项目的第二列可能具有相同的字段,但第一列将始终是唯一的。我也不能只使用我所理解的行索引,因为被选择的项目是子项目,所以我为父母下的每个第一个孩子得到一个 0 的索引。

任何帮助表示赞赏。提前致谢。

0 投票
1 回答
1309 浏览

qt - QTreeView:显示“空视图”项目?

QTreeView如果连接的模型(由 设置QSortFilterProxyModel)没有要显示的元素,我想显示一个项目“此视图中没有元素”。

我怎样才能实现这样的事情?

感谢您的小提示。

0 投票
1 回答
754 浏览

python - setData 引发退出代码 -1073741819

我有一个带有 setData 的 QtGui.QStandardItemModel 的子类,如下所示:

在 MAIN.changeItem 中,我取“旧”值并将其替换为数据库中的“新”值,然后使用返回值设置数据。最后我刷新模型以显示结果。像这样:

但是我要退出-1073741819,但前提是我一个接一个地执行它们。如果我不刷新模型(注释掉 self.tableUpdate()),而是执行其他可以正常刷新它的操作(例如添加新项目或更改选项卡),则不会引发错误。知道为什么会这样吗?