QT学习记录5–鼠标事件
1.事件
首先声明一下关于事件的定义:
- 需要触发的事件
事件是由系统或者QT本身在不同时刻发出的。例如点击鼠标、按键盘、或者窗口需要重新进行绘制的时候等等。
- 系统自己触发的事件
如计时器事件
构造出新的类需要实例化才能有用!
新建了一个zzqlabel的类,重写了鼠标的事件。移动到写的label上会自动捕获鼠标位置。
主要测试的鼠标事件有:
- 鼠标点击事件
- 鼠标离开事件
- 鼠标移动事件
- 鼠标鼠标释放事件
- 鼠标双击事件
- 鼠标按下事件
主要文件如下:
Widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#pragma execution_character_set("utf-8")//在 窗口中能显示中文
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = nullptr);
~Widget();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
zzqlabel.h
#ifndef ZZQLABEL_H
#define ZZQLABEL_H
#pragma execution_character_set("utf-8")//用中文输出,在zzqlabel.cpp中用到qDebug
#include <QLabel>//改为QLabel,默认