1.笔记:QT结构体按字节对齐
2.模型索引(QModelIndex)——Qt文档译注
笔记:QT结构体按字节对齐
在处理QT结构体时,源码可能会遇到由于字节对齐导致的源码赋值错误。如果遇到这类问题,源码首先要排除逻辑赋值和的源码高低端问题。大多数情况下,源码问题源于字节对齐。源码源码分析自学教程在QT中,源码默认的源码字节对齐方式是4字节,但对于uint_8类型的源码指针,最好使用1字节对齐。源码
在STM开发过程中,源码同样会遇到类似问题。源码在Keil环境下,源码经典的c源码可以使用_packed关键字来指定对齐方式。源码
以下是源码示例代码:
//每个电池包数据
__packed typedef struct{
uint_t CellVolt[];
uint_t DebugDat[8];
uint_t SoftVersion; //软件版本
}
BAT_PACK_DAT;
模型索引(QModelIndex)——Qt文档译注
QModelIndex与QAbstractItemModel配合使用,用以索引模型中的项。所有模型都使用QModelIndex索引模型。它包含行、列信息及指向所属模型的拦截码源码论坛指针。视图、代理、选择模型都使用索引来定位模型项。默认构造函数创建无效索引,有效索引由模型使用QAbstractItemModel::createIndex函数创建。QModelIndex拥有内部变量r、课堂考勤app源码c、i和m,分别表示行、列、void指针和所属模型指针。获取模型项索引使用QAbstractIemModel::index()函数,手机游戏破解源码需提供行数、列数和父索引引用。获取模型中项的索引使用model()函数,返回索引对应模型指针。child()函数获取索引的子项目,sibling()遍历同级别项。索引有效需非负行列号和非空模型指针。使用QPersistentModelIndex可长时间保留模型索引。QModelIndex成员函数包括创建无效索引的构造函数、返回列数的column()、给定角色返回项数据的数据()、返回项标志的flags()、返回与内部数据结构关联的quintptr和void*指针的内部Id和内部指针、验证索引是否有效的isValid()、返回对应模型指针的model()、返回父索引的parent()、返回列兄弟的siblingAtColumn()、返回行兄弟的siblingAtRow()、比较两个索引的operator=、operator<和operator==。使用时应立即丢弃索引,避免在模型结构更改或项被删除后认为索引仍然有效。若需保留模型索引,可使用QPersistentModelIndex。了解更多关于模型/视图编程、QPersistentModelIndex和QAbstractItemModel。注意应立即使用索引并丢弃,避免应用崩溃。