作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 QString 设置 Q_ENUM,但我不知道该怎么做。有没有人有这方面的经验?
最佳答案
枚举示例(也适用于普通枚举):
enum class MyEnumType
{
foo,
bar
};
Q_ENUM(MyEnumType)
我找到的最简单的方法是这样的,使用 2 条基本线:
auto&& metaEnum = QMetaEnum::fromType<MyEnumType>();
MyEnumType wantedEnum = static_cast<MyEnumType>(metaEnum.keyToValue("foo")));
请注意,仅当字符串不为空时才执行 keyToValue
,使用 !yourString.isEmpty()
。在我的例子中,枚举值最终在内存中为 0xFF
。我没有将此包含在代码片段中,因为此检查取决于您的实现。
关于c++ - 如何从 QString 设置 Q_ENUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41488066/
我是一名优秀的程序员,十分优秀!