gpt4 book ai didi

c++ - 在 C++ 中使用枚举标志

转载 作者:行者123 更新时间:2023-11-30 02:03:06 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How to use enums as flags in C++?

为了解释我正在尝试做的事情,我正在尝试获取一个包含更新检查信息的标志整数,例如

int flags = keyPress | mouseClick | mouseMove; 

来 self 的事件枚举;

enum mEvents {
keyPress = QEvent::KeyPress,
keyRelease = QEvent::KeyRelease,
mouseClick = QEvent::MouseButtonPress,
mouseDoubleClick = QEvent::MouseButtonDblClick,
mouseMove = QEvent::MouseMove
};

这样我就可以像这样检查发生了什么事件类型;

void Lib::Update(QEvent *e) {
if (e->type() == flags)
stateManager->updateCurrentState(e);
}

我想做的是说,如果事件类型是“标志”中的以下任何一种,则更新。但是,这是行不通的。更准确地说,它适用于按键,但不适用于鼠标点击或移动事件。

所以我想知道,如果我想做的事情是可能的,如果可以的话,我该如何实现呢? (我很确定是这样,我知道 SDL 使用类似的标志系统来创建屏幕)非常感谢任何帮助。)

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com