QtModel

    QModelIndex index1 = model->index(row,column,QModelIndex());
    QModelIndex index2 = model->index(row.column,index2);

QSqlQuery::size() 仅在使用了 QSqlQuery::exec() 后并且查询结果集的所有行都被读取时才有效。如果结果集很大或在使用游标的情况下,返回的行数可能不准确。

setText()

  • 用途setText()QStandardItem 类的一个方法,用于设置某个单元格中的文本内容。
  • 使用场景 :当你想修改某个 QStandardItem 的显示文本时,可以使用 setText()
  • setText() 仅修改显示文本,相当于 setData(text, Qt::DisplayRole)

setData()

  • 用途setData()QAbstractItemModel 类的一个通用方法,可以设置模型中任意角色(role)的数据。可以用于修改文本、图标、工具提示等各种数据。
  • 使用场景 :如果你想更灵活地修改模型中的数据,可以使用 setData(),它允许你指定角色(如 Qt::DisplayRole, Qt::ToolTipRole, Qt::DecorationRole 等),不仅限于文本内容。
  • setData**()** 修改用户数据,相当于 setData(value, Qt::UserRole + 1)

text()

  • 用途text()QStandardItem 类中的方法,用于获取某个单元格的显示文本。这相当于从 Qt::DisplayRole 角色中获取数据。

  • 局限性text() 只能获取显示文本,不能获取其他角色(如图标、工具提示等)的数据。

  • text() 本质上等同于调用 item->data(Qt::DisplayRole).toString()

  • DisplayRole (0) : 显示文本,用于用户界面中显示的字符串内容。setText() 其实就是对 DisplayRole 的一种简化操作。

  • DecorationRole (1): 装饰物,如图标或图片,用于项的装饰(如列表项前面的图标)。

  • EditRole (2) : 编辑模式下的值,通常与 DisplayRole 相同,但可以为编辑模式设置不同的值。

  • ToolTipRole (3): 项的工具提示,在用户悬停时显示的文本。

  • StatusTipRole (4): 状态提示,在状态栏中显示的提示信息。

  • WhatsThisRole (5): "这是什么"提示,用于更详细的帮助信息。

  • FontRole (6): 显示文本的字体。

  • TextAlignmentRole (7): 文本对齐方式,如左对齐、右对齐等。

  • BackgroundRole (8): 项的背景颜色。

  • ForegroundRole (9): 项的前景色(文本颜色)。

  • CheckStateRole (10): 复选框的状态(选中、未选中、部分选中)。

  • AccessibleTextRole (11): 无障碍文本,用于无障碍访问技术。

  • AccessibleDescriptionRole (12): 无障碍描述。

  • SizeHintRole (13): 项的大小提示,用于布局管理。

  • UserRole (0x0100): 用户自定义角色,用于存储用户定义的附加数据。

Qt::UserRole + 1000Qt::UserRole 是一个基础角色,值为 0x0100(256)。你使用 Qt::UserRole + 1000 是为了创建一个自定义的角色,并确保它不会与 Qt 内置的角色冲突。

QModelIndex

QModelIndex 是一个用于引用模型中某个特定单元格的对象。它不存储实际的数据,而是用来标识和操作模型中的某个位置。它包含信息,如行、列和一个指向所属模型的指针,用来告诉视图或控制器哪个数据发生了变化。

QModelIndex 的主要用途:
  • 索引模型中的单元格:它指向模型中的某个位置,而不是存储数据本身。
  • 传递数据位置 :比如,当你在 QTableView 中点击某个单元格时,视图可以通过 QModelIndex 知道你点击了哪一个单元格。
  • 在信号槽中使用 :许多 Qt 信号和槽函数使用 QModelIndex 来标识触发信号的位置。
QModelIndex 的常见函数:
  • row():返回索引的行号。
  • column():返回索引的列号。
  • parent():返回该索引的父级索引(如果是树形结构模型)。
  • data():通过这个索引从模型中获取数据。

QStandardItem

每个 QStandardItem 代表模型中的一个单元格或一项,能够直接存储数据和属性。

QStandardItem 的主要用途:
  • 存储实际的数据:它存储的是模型中的数据,比如显示文本、编辑值、工具提示、复选框状态等。
  • 树形结构 :一个 QStandardItem 还可以拥有子项,从而形成树形结构模型。
QStandardItem 的常见函数:
  • setData():设置项的数据。
  • data():获取项的数据。
  • setCheckable():设置是否显示复选框。
  • setEditable():设置是否可以编辑该项。
  • appendRow():向该项添加子项,形成树形结构。
相关推荐
WhoisXMLAPI2 小时前
新的 WhoisXML API 白皮书重点分析了主要 gTLD 和 ccTLD 注册趋势
运维·服务器·网络·数据库·网络协议·安全
张声录13 小时前
Redis Exporter 安装与配置指南(v1.67.0)
数据库·redis·缓存
人总该做点什么3 小时前
【数据库】一、数据库系统概述
数据库·sql·mysql·sqlserver
头发多的码农4 小时前
mysql、postgresql、druid链接池踩坑记录
数据库·mysql·postgresql
leegong231114 小时前
PostgreSQL 中级学习
数据库·学习·postgresql
LifeEnjoyer4 小时前
数据库汇总3(SQL with 关系代数)
数据库·sql·oracle
曹二7474 小时前
MySQL 视图 存储过程与存储函数
数据库·mysql
DanceDonkey5 小时前
基于wait/notify方法 实现生产/消费者模型
java·数据库·中间件
宇宙李5 小时前
微服务中熔断和降级的区别,具体使用场景有哪些?
java·数据库·微服务
等一场春雨5 小时前
MySQL 主从同步中间件
数据库·mysql·中间件