Qt滑鼠雙擊事件mouseDoubleClickEvent(QMouseEvent* event)
阿新 • • 發佈:2019-02-07
重寫mouseDoubleClickEvent(QMouseEvent event)*
1、例項:雙擊視窗時輸出“sss”
/*widget.h*/
#ifndef WIDGET_H
#define WIDGET_H
#include<QWidget>
#include<QDebug>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget* parent=0);
~Widget(){}
protected:
//宣告
void mouseDoubleClickEvent (QMouseEvent*);
};
#endif
/*widget.cpp*/
#include"widget.h"
#include<QMouseEvent>
Widget::Widget(QWidget* parent) : QWidget(parent)
{
}
//重寫
void Widget::mouseDoubleClickEvent(QMouseEvent* event)
{
qDebug("sss");
}
/*main.cpp*/
#include"widget.h"
#include<QApplication>
int main(int argc,char* argv[])
{
QApplication app(argc,argv);
Widget w;
w.show();
return app.exec();
}
我在Widget裡放置了ListWidget後,在Widget類中重寫了mouseDoubleClickEvent,但是不知道為何觸發不了。之後改在ListWidget類中重寫mouseDoubleClickEvent,這樣是可以觸發滑鼠雙擊事件的。
2、左鍵雙擊,右鍵雙擊
上面預設是不分滑鼠左右鍵的,也可以判斷是左鍵雙擊還是右鍵雙擊觸發:
void Widget::mouseDoubleClickEvent(QMouseEvent* event)
{
if(event->button()==Qt::LeftButton)
qDebug("Left");
if(event->button()==Qt::RightButton)
qDebug("Right");
}