首页 > 其他分享 >Qt模型视图结构3_模型索引与模型的常用函数

Qt模型视图结构3_模型索引与模型的常用函数

时间:2023-02-01 22:36:55浏览次数:49  
标签:数据项 const Qt int 模型 视图 索引 QModelIndex

目录

前言

在数据项、模型以及视图三者之间,模型索引扮演着至关重要的角色。因此在此将模型索引的函数列举一下。

模型索引相关函数

模型索引相关函数可以分为四类:

  1. 与当前数据项相关的函数

    //数据项的位置
    int QModelIndex::column() const
    int QModelIndex::row() const
    
    //数据项的内容
    QVariant QModelIndex::data(int role = Qt::DisplayRole) const
    
    //读取数据项的状态(选中、编辑、拖拽、用户可勾选、使能等)
    Qt::ItemFlags QModelIndex::flags() const
    
  2. 获取模型

    //获取模型
    const QAbstractItemModel *QModelIndex::model() const
    
  3. 获取其他的数据项的模型索引

    sibling 兄弟姊妹的意思

    QModelIndex QModelIndex::parent() const
    QModelIndex sibling(int row, int column) const
    QModelIndex QModelIndex::siblingAtRow(int row) const
    QModelIndex QModelIndex::siblingAtColumn(int column) const
    
  4. 模型索引是否合法

    bool QModelIndex::isValid() const
    

模型索引与模型

//从模型中获取模型索引
QModelIndex index = model->index(row,col);
QModelIndex index = model->indexFromItem(item);

//从模型中获取数据项
QStandardItem* item = model->item(row, col);
QStandardItem* item = model->itemFromIndex(index);

访问和修改数据项的方法

QModelIndex idx = theModel->index(0, 0);
theModel->setData(idx, "123", Qt::EditRole);

QStandardItem* it = theModel->item(0, 0);
it->setData("123", Qt::EditRole);

标签:数据项,const,Qt,int,模型,视图,索引,QModelIndex
From: https://www.cnblogs.com/wsw2022/p/17084312.html

相关文章

  • QTcpServer和QTcpSocket使用详解
    QTcpServer和QTcpSocket使用详解1、基本使用方法QTcpServer和QTcpSocket的使用是密不可分的,所以两者一块演示使用方法。QTcpServer常用信号:newConnection()信号,该信号用于处......
  • ASP.NET Core 6.0 基于模型验证的数据验证
    https://zhuanlan.zhihu.com/p/551581094 1.1、数据验证的场景比较传统的验证方式如下:publicstringTraditionValidation(TestModelmodel){if(string.IsNul......
  • Qt设置应用程序图标、小图标显示+打包发布exe
    Qt设置应用程序图标、小图标显示+打包发布exe目录​​Qt设置应用程序图标、小图标显示+打包发布exe​​​​(一)设置应用程序图标、小图标​​​​(二)打包发布exe程序​​​​(......
  • PyQt5打包成exe可执行程序
    PyQt5打包成exe可执行程序安装打包程序:pipinstallpyInstaller打包命令格式:​​​pyinstaller[选项]文件名​​选项:-F,–onefile打包成一个单独的exe文件,类似于C语言的静......
  • Qt | 拖放、拖动的使用、将文件拖入使用示例
    Qt|拖放、拖动的使用、将文件拖入使用示例1、窗体的拖动Qt的控件本身支持了很强大拖放、拖动功能,对于窗体的拖动,例如QDialog,可以覆写这四个函数:voiddragEnterEvent(QDrag......
  • QTableView的样式设置和常用函数
    QTableView用于显示二维数据,常常与QStandardItemModel结合使用。目录样式设置表头样式设置表头样式设置注意事项表格样式设置常用函数model相关tableView相关headerView......
  • Qt | QDialogButtonBox使用示例
    Qt|QDialogButtonBox使用示例1、简介QDialogButtonBox类,该类包含很多按钮控件,在窗体(widget)或者对话框(dialog)有多个按钮的时候,为方便管理就可以使用该类成组进行管理。......
  • Qt | QListWidgetItem返回错误的背景颜色(始终返回颜色值为0)问题解决
    Qt|QListWidgetItem返回错误的背景颜色(始终返回颜色值为0)问题解决使用场景:程序使用QListWidget显示一个列表,这个列表具有点击选择和再次点击取消选择的功能,点击之后需要更......
  • 【嵌入式】微芯旺KungFu32A156MQT点灯程序
    编译器:ChipON32IDEKF32首先添加A156MQT启动代码然后添加库 然后在项目设置内添加编译路径  以下是点灯代码:#include"system_init.h"#include"kf32a156_gp......
  • Pytorch_YOLO-v8-模型训练
    datasetYOLO会自动将…/datasets/dataset_new/images/train/1.jpg中的/images/替换成/labels/以寻找它的标签,如…/datasets/dataset_new/labels/train/1.txt0:perso......