【发布时间】:2015-05-16 04:54:39
【问题描述】:
请考虑以下代码:
#include <QWidget>
#include <iostream>
#include <QApplication>
class Widget : public QWidget
{
public:
void mousePressEvent(QMouseEvent* event)
{
std::cout << "mousePressEvent" < std::endl;
}
void mouseDoubleClickEvent(QMouseEvent* event)
{
std::cout << "mouseDoubleClickEvent" << std::endl;
}
};
int main(int argc, char** argv)
{
QApplication app(argc, argv);
Widget w;
w.show();
return app.exec();
}
每次我处理双击,输出是:
mousePressEvent
mouseDoubleClickEvent
这意味着 Qt 总是在按下一次后立即调用 mousePressEvent 而无需等待第二次按下。有没有办法关闭此选项,以便在双击的情况下不会执行 mousePressEvent 调用。
【问题讨论】:
-
Qt 如何预测您是否也会总是点击第二次?你想解决什么样的问题?
-
我有某种计数器,如果双击,我必须将其增加 2,如果单击一次,则增加 1。在这种情况下,我找到了一种解决方法,并且每次都将其递增一次。
-
正如我之前在一篇评论中提到的,我按照你的说法做了。我只是想避免调用 mousePress。如果mu程序在单击的情况下执行一次登录,而在双击的情况下执行相反的登录,那会怎样。在这种情况下,两个函数都被调用..
标签: c++ qt events double-click mousepress