您的位置:首页 > 编程语言 > Qt开发

Qt qnamespace.h 中不包含Q_ENUMS(ItemDataRole),使得Qt::ItemDataRole无法在QtScript下使用,这里是一个Workaround。

2014-02-24 22:26 127 查看
class Enums
{
Q_GADGET
Q_ENUMS(ItemDataRole)
public:
Enums() {}
~Enums() {}
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 = 32
};
};

QScriptEngine engine;
QScriptValue qsMetaObject = engine.newQMetaObject(&Enums::staticMetaObject);
engine.globalObject().setProperty("Qt", qsMetaObject);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐