gpt4 book ai didi

c++ - 如何在Qt中的MouseReleaseEvent中获取释放的按钮

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:53:18 27 4
gpt4 key购买 nike

MouseReleaseEvent(QMouseEvent *e) 中,有没有办法在不使用新变量的情况下知道释放了哪个按钮?我的意思是像 MousePressEvent(QMouseEvent *e) 中的 e.buttons()。我在 releaseEvent 中尝试了 e.buttons() 它不起作用(这是合乎逻辑的)。

最佳答案

e 已经是一个变量。只需使用:

void mouseReleaseEvent(QMouseEvent *e)
{
if (e->button() == Qt::LeftButton) // Left button...
{
// Do something related to the left button
}
else if (e->button() == Qt::RightButton) // Right button...
{
// Do something related to the right button
}
else if (e->button() == Qt::MidButton) // Middle button...
{
// Do something related to the middle button
}
}

switch 语句也可以。我更喜欢 if -- else if 系列,因为它们使处理 evente 修饰符变得更容易,即 e->modifiers() 以检查 alt 或 control点击次数。 if 系列足够短,不会给程序造成任何负担。

编辑:请注意,您应该使用 button() 函数,而不是其复数形式的 buttons() 版本。请参阅@Merlin069 答案中的解释。

关于c++ - 如何在Qt中的MouseReleaseEvent中获取释放的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25426356/

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