问题标签 [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 回答
5255 浏览

qt - Qt:创建一个 QItemDelegate 以在带有 QStandardItemModel 的 QTableView 中拥有一个自定义编辑器(组合框)

我需要在 Qt 中实现一个表格,在特定列的每一行上显示一个组合框。

到目前为止,基于这个例子: http ://doc.qt.nokia.com/4.7-snapshot/itemviews-spinboxdelegate.html 和这个问题: QStandardItem + QComboBox 我成功地创建了一个 QItemDelegate。

我的问题是,如果我从 main.cpp 中的 main() 函数实现它,一切正常,但如果我在 Qt Designer 中插入表以使用它,然后在 mainwindow.cpp 中的 MainWindow 类的函数中使用它,它就不能正常工作.

你能给我一个线索吗?提前致谢!

main.cpp 上的委派(效果很好,当我双击第二列时,它会显示一个组合框):

mainwindow.cpp 替代方案 1 上的委派(它显示一个空表)

mainwindow.cpp 替代方案 2 上的委派(它显示了表格,但是当我双击第二列时,它不显示组合框。而是显示常规的旋转框):

0 投票
1 回答
1979 浏览

qt - Qt,QStandarItemModel:自定义 QComboBox 上的委托项,从模型的实例化器填充其内容

我需要在 Qt 中实现一个表,该表在QComboBox特定列的每一行上显示一个。

基于这个问题:QStandardItem + QComboBox我成功地创建了一个QItemDelegate. 在该示例中,QComboBox内容是在ComboBoxDelegate类上静态定义的,但在我的情况下,我需要QComboBox在创建的函数中定义内容QStandardItemModel

模型在MainWindow类方法中定义:

然后我应该能够ComboBox从委托类中恢复内容:

该项目编译得很好,但是当我单击一个单元格更改QComboBox值时,程序崩溃并且我得到一个“传递给 C 运行时函数的无效参数”。

0 投票
1 回答
4740 浏览

qt4 - QTableView的自定义排序方法?

如何为 QTableView 或模型设置自定义排序方法?(我应该重新实现哪个功能)

默认排序算法是字符串,我想要一些特定列的数字排序方法。

谢谢。

0 投票
1 回答
1567 浏览

c++ - QTableView QStandardItemModel 恢复或撤消用户输入

如何撤消或还原 QStdarItemModel 填充的 QTableView 上的用户条目?

我已将 dataChanged 信号与我验证数据的处理程序连接...

...但是如果用户输入错误,我想将用户输入恢复或撤消到项目的先前值。

我已经阅读了从 QAbstractItemModel 继承的 revert() 成员,但我不明白它是如何工作的。文档说“让模型知道它应该丢弃缓存的信息。” 但我不确定用户输入的数据是缓存还是已经存储在模型上。

无论如何,如果我尝试...

...在错误的用户输入后它不起作用。

提前致谢!

0 投票
1 回答
2532 浏览

python - 基于 QStandardItem 数据属性的 QTableView 项目选择

在 QTableView中进行任意多选的最有效和技术上(Python/PyQt4 )正确的方法是什么,该QTableView的模型包含QStandardItems(图表数据)的层次结构,isSelected每个项目都添加了自定义数据属性。

详细说明:与表格一起,我有一个 matplotlib 图,它输出isSelected与我的数据相对应的范围(属性直接来自这些范围),QTableView我想在这两个 gui 元素之间添加一些交互。

即 matplotlib 绘图选择反映在QTableView,反之亦然(我通过将选择更改挂钩到读取相应的索引并将它们反馈回图表来获得)。

希望这个解释是有道理的。谢谢。

0 投票
1 回答
120 浏览

qt - 如何为我的 TreeView 项目分配不同的 URL

我是 Qt 的新手。我使用 QStandard 项目模型创建了一个 Qtree 视图。现在我想将 Url 设置为我的项目。如何为树视图项目分配 url。

0 投票
1 回答
813 浏览

treeview - pyqt树视图不显示重载模型

我需要一些有关树视图的帮助。当我将模型指定为

我可以从窗口将项目添加到树中

但是当我尝试重载模型时,树视图不会更新。该代码无法更新树视图。有人可以解释一下吗?

0 投票
0 回答
2341 浏览

qt - 子类化 QStandardItemModel 以避免 QAbstractItemModel

我正在为树状结构实现模型/视图,并且我决定尝试使用QStandardItemModel,我想在其上包装一个特定的类(我在这里称之为“appSpecificClass”)。

基本上,我希望该类的一部分(例如名称或某些数据)显示在模型中,并且当我更改模型(在编辑角色或拖放中)时,我希望这会对 appSpecificClass 产生影响(也就是说,当我更改模型上显示的名称时,与模型的 appSpecificClass 项关联的对象上的名称也会更改)。

因此,我从一个 appSpecificItem 子类化 QStandardItem 开始,它只有一个指向 appSpecificClass 的指针。当我构造 appSpecificItem 时,从 appSpecificClass 调用文本和图标,一切正常。

但是,当从 appSpecificItem 更改数据时,它自然不会更改 appSpecificClass,因为到目前为止我还没有找到任何通过重载虚函数(或其他)与 appSpecificItem 的指针交互的方式

有谁知道该怎么做/如果可能的话?例如,如果信号

发出,我可以更改 appSpecificItem 的指针。

如果没有,是否有任何关于从头开始实现模型的好教程?我已经尝试了一些,但这并不是一件容易的事。理想情况下,我想要一个类似 QStandardItemModel 的模型,但对它进行一些抽象(这样我就可以将我的 appSpecificClass 放在上面)。

0 投票
1 回答
1302 浏览

qt - QStandardItem 以一种奇怪的方式插入行

我正在创建一个表并像这样在其中插入行。表中只插入了一行,这太有条件了,如果条件不满足,则会显示错误。问题是,当在满足条件的情况下插入一行时,另一行在再次满足条件时插入时不会重新写入该行,而是使用该行的下两列保持前两列为空。

例子

第一个结果:

2 你好

第二个结果:

代码

提前感谢您的帮助

0 投票
1 回答
720 浏览

qt - 如何操作指向 TableView 模型的指针?

当需要操作 TableView 的模型时,有必要使用 function 获取该模型tableView->model()。但是,这会返回一个指向 a 的指针QAbstractItem,并且它是指向 a 的必要指针QAbstractModel

所以...我使用动态转换进行转换,如下所示:

但是,这个指针返回 NULL,我不知道为什么。

是否需要一些初始化?