gpt4 book ai didi

c++ - 触摸板 + QToolButton = supperios press

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:09 30 4
gpt4 key购买 nike

我有QToolButton:

btn_ = new QToolButton(this);
btn_->setFocusPolicy(Qt::NoFocus);
btn_->setAutoRepeat(false);
connect(btn_, SIGNAL(pressed()), this, SLOT(btnPressed()));

每次在触摸板上按明显时,我的插槽调用了两次。

在我的程序调试过程中,我可以看到来自 QAbstractButton::mousePressEvent 的第一个调用和第二个 QAbstractButton::mouseMoveEvent

如果我瞬间按下触摸板,然后将手从触摸板,然后我只从 QAbstractButton::mousePressEvent 调用了一次 btnPressed

知道如何解决这个问题吗?所以我没有将手从笔记本的触摸板上移开用于按压。我考虑使用计时器来测量从一个 btnPressed 到另一个的时间,但不知道超时值可以防止这种情况发生。我当然可以为我的笔记本选择超时,但是如果在另一个笔记本上它会太小怎么办,或者如果选择大的,那么用户开始提示不负责任的界面。

linux/x11/qt4.8/amd64

最佳答案

尝试使用 clicked()而不是 pressed(),因为它反射(reflect)了用户对单个按钮按下/单击所期望的行为。一般来说,如果您不确定是否真的希望在按下按钮时立即调用插槽(并处理可能随之而来的特殊情况),您应该使用 clicked()

关于c++ - 触摸板 + QToolButton = supperios press,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47764537/

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