次のコードを検討してください。
#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 が 2 回目のプレスを待たずに 1 つのプレスが進むとすぐに常に mousePressEvent を呼び出すことを意味します。このオプションをオフにして、ダブルクリックの場合に mousePressEvent 呼び出しが実行されないようにする方法はありますか?