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
等),不仅限于文本内容。
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 + 1000
:Qt::UserRole
是一个基础角色,值为 0x0100
(256)。你使用 Qt::UserRole + 1000
是为了创建一个自定义的角色,并确保它不会与 Qt 内置的角色冲突。