GetOBSRef 解析
来源:互联网 发布:富网络应用模式 程序 编辑:程序博客网 时间:2024/06/13 05:01
static T GetOBSRef(QListWidgetItem *item)
{
return item->data(static_cast<int>(QtDataRole::OBSRef)).value<T>();
}
1)先分析一下item->data()
[virtual]QVariant QListWidgetItem::data(introle) const
Returns the item's data for a givenrole. Reimplement this function if you need extra roles or special behavior for certain roles.
role <<---static_cast<int>(QtDataRole::OBSRef)
2)再分析下QtDataRole::OBSRef
enum class QtDataRole {
OBSRef = Qt::UserRole,//OBSRef = UserRole
OBSSignals,
};
3)分析下UserRole
enum ItemDataRole {
DisplayRole = 0,
DecorationRole = 1,
EditRole = 2,
ToolTipRole = 3,
StatusTipRole = 4,
WhatsThisRole = 5,
// Metadata
FontRole = 6,
TextAlignmentRole = 7,
BackgroundColorRole = 8,
BackgroundRole = 8,
TextColorRole = 9,
ForegroundRole = 9,
CheckStateRole = 10,
// Accessibility
AccessibleTextRole = 11,
AccessibleDescriptionRole = 12,
// More general purpose
SizeHintRole = 13,
InitialSortOrderRole = 14,
// Internal UiLib roles. Start worrying when public roles go that high.
DisplayPropertyRole = 27,
DecorationPropertyRole = 28,
ToolTipPropertyRole = 29,
StatusTipPropertyRole = 30,
WhatsThisPropertyRole = 31,
// Reserved
UserRole = 0x0100//其中的一种
};
4)QVariant
QVariant行为类似于C/C++的union, 但在Qt中比union强大很多, QVariant内置支持所有QMetaType::Type里的类型如:int,QString,QFont等甚至QList<QVariant>,
QMap<QString, QVariant>等组成的任意复杂类型. 主要应该在Qt项中附带额外的数据,如setData(),setItemData()等,和数据序列化中.简单的说QVariant可存储任意类型.
5)使用
GetOBSRef<OBSScene>(item)
- GetOBSRef 解析
- 解析
- 解析
- 解析
- 解析
- 解析
- 解析
- 解析
- 解析
- 解析
- 解析[ ]
- 解析
- ffmpeg解析-----解析文件格式
- Xen解析 netfilter解析
- JSON解析,XML解析
- 硬解析 软解析
- 解析xml dom 解析
- JSON解析、XML解析
- tp 里面 select2 筛选实例
- 常用加密与解密算法示例代码
- 软件开发工具
- 用static关键字修饰类(只适用于内部类)
- Cassandra简介
- GetOBSRef 解析
- socket C/C++编程(3)Windows&Linux之socket兼容性编程
- OSI七层模型与TCP/IP五层模型
- ffmpeg sws_scale函数详解
- Android widget之ListView
- 快排
- Luogu P1507 NASA的食物计划
- mfc CSpreadSheet与office一起用,CSpreadSheet在一个表格中生成两张表,调用office库文件操作表
- hive遇到的问题java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expec