jjzjj

QStandardItemModel

全部标签

c++ - 从 QML 访问 QStandardItemModel 的项目

(已编辑)在最初的问题中,我错误地假设GridViewnative使用二维模型。实际上,它采用与其他QML类似的元素列表意见。为了使问题和答案更容易理解,我更改了给定的代码轻微地。此外,我根据答案添加了工作解决方案。在主程序中,我定义了一个QStandardItemModel实例:QScopedPointerapp(createApplication(argc,argv));QmlApplicationViewerviewer;QStandardItemModel*cppmodel=newQStandardItemModel();for(inti=0;iappendRow(item);

c++ - 选择单元格时,更改 QTableView 中图标的颜色突出显示

当在QTableView中选中一个单元格时,其中的图标会被蓝色高亮显示,如何控制高亮显示的颜色或禁用它?我尝试设置QPalette::Highlight但没有成功。编辑:好的,所以我确实知道如何更改背景颜色和文本颜色以及颜色突出显示,但不知道如何更改图标。如果我返回一个图标作为单元格的装饰,当单元格被选中时,它会以浅蓝色高亮显示。我该如何删除它? 最佳答案 您可以使用样式表来定义元素的颜色。QTableView中所选项目的名称是selection-background-color。所以,改变这个元素的颜色你会选择你喜欢的背景颜色。#

c++ - 如何完全遍历 QStandardItemModel?

我有一个QStandardItemModel,它显示在qQTreeView中。工作正常。为了突出显示相关行,我想突出显示其中的一些行:因此我有一个QStringList,其中包含要突出显示的QStandItem*的名称。QStringListnamesToBeHighlighted=getNames();QModelIndexin=myModel->index(0,0);if(in.isValid()){for(intcurIndex=0;curIndexrowCount(in);++curIndex){QModelIndexsi=myModel->index(curIndex,0,i

c++ - 处理 QAbstractItemModel::dataChanged() 信号时如何获取旧值?

我有一个QTableView,它设置了一个QStandardItemModel。用户在View中的某个索引中编辑数据,然后模型发出dataChanged()信号。在我处理SIGNAL的SLOT中,我有用户更改的QModelIndex范围,因此我可以获得用户输入的新值。我怎样才能获得当时的旧值? 最佳答案 经过一些研究,我发现没有标准的方法可以实现这种行为。为了解决这个问题,我必须继承QStandardItemModel并像这样重新实现setData():classRecallModel:publicQStandardItemMode

【Qt之QStandardItemModel】使用,tableview、listview、treeview设置模型

1.引入QStandardItemModel类提供了一个通用的模型,用于存储自定义数据。以下是其用法:该类属于gui模块,因此在.pro中,需添加QT+=gui,如果已存在,则无需重复添加。首先,引入头文件:#include2.描述以下介绍很重要,可以慢下心来阅读。QStandardItemModel类提供了一个用于存储自定义数据的通用模型。QStandardItemModel可以用作标准Qt数据类型的存储库。它是模型/视图类之一,是Qt模型/视图框架的一部分。QStandardItemModel提供了一种经典的基于项目的方法来处理模型。QStandardItemModel中的项由QStand

c++ - 禁用 Qt 组合框中的项目

我找不到在Qt组合框中禁用单个项目的标准方法。在我缺少的Qt中是否有执行此操作的工具? 最佳答案 为什么要破解……我们知道模型是QStandardItemModel……model=dynamic_cast(combobox->model());item=model->item(row,col);item->setEnabled(false);干净,优雅,没有黑客...... 关于c++-禁用Qt组合框中的项目,我们在StackOverflow上找到一个类似的问题:

c++ - 禁用 Qt 组合框中的项目

我找不到在Qt组合框中禁用单个项目的标准方法。在我缺少的Qt中是否有执行此操作的工具? 最佳答案 为什么要破解……我们知道模型是QStandardItemModel……model=dynamic_cast(combobox->model());item=model->item(row,col);item->setEnabled(false);干净,优雅,没有黑客...... 关于c++-禁用Qt组合框中的项目,我们在StackOverflow上找到一个类似的问题:

c++ - 如何删除 QStandardItemModel 中的垂直标题?

我已经使用QTableView和QStandardItem小部件创建了一个表。如何从QStandardItemModel中删除垂直标题? 最佳答案 如果我没看错,你想隐藏标题,那么你应该使用标题的hide()方法:QTableView*view=newQTableView();view->verticalHeader()->hide();别忘了#include 关于c++-如何删除QStandardItemModel中的垂直标题?,我们在StackOverflow上找到一个类似的问题: