1、事件:
void mousePressEvent(QMouseEvent *event); --- 鼠标按下事件
void mouseReleaseEvent(QMouseEvent *event); --- 鼠标松开事件
void mouseMoveEvent(QMouseEvent *event); --- 鼠标移动事件
setMouseTracking(true); --- 设置跟踪鼠标
void mouseDoubleClickEvent(QMouseEvent *event) --- 鼠标双击事件
---> event->button --- 获取鼠标按键 Qt::LeftButton Qt::RightButton
---> QPoint event->pos() --- 获取鼠标相对位置
---> event->x() ---获取鼠标相对位置的x轴
---> event->y() ---获取鼠标相对位置的y轴
---> QPoint event->globalPos() --- 获取鼠标绝对位置
---> event->globalX() ---获取鼠标绝对位置的x轴
---> event->globalY() ---获取鼠标绝对位置的y轴
void wheelEvent(QWheelEvent *event); --- 滚轮事件
-->event->angleDelta() ---> (0, +/- 120)
--> if (event->delta() > 0) --- >判断是否往上滚动
void keyPressEvent(QKeyEvent *event); --- 键盘按下事件
void keyReleaseEvent(QKeyEvent *event); --- 键盘松开事件
--> event->key() --- 获取键盘按键
Qt::Key_A ---A键
Qt::Key_Return ---回车
Qt::Key_Space ---空格
void timerEvent(QTimerEvent *event); --- 定时器事件
startTimer(int mesc)--->启动定时器事件
void closeEvent(QCloceEvent *event); --- 关闭事件
2、eventFilter: 事件过滤器
installEventFilter(this); —>安装事件过滤器,只要产生事件,会先调用事件过滤器
bool eventFilter(QObject *watched, QEvent *event) { //事件过滤器
event->type() --- 判断事件的类型QEvent::KeyPress
}
3、paintEvent: 绘图事件
QPainter p()--- 画家
QPen --- 画笔
QBrush --- 刷子
drawPonit(QPoint); ---画点
drawPixmap(QRect, QPixmap)--- 画图
drawLine(Qpoint, QPoint); --- 划线
drawEllipse(QPoint, x, y); --- 画椭圆 x==y:圆
drawText(QRect, QString); 写字
drawRect(x, y, w, h); 画矩形
drawArc(QRect, a, alen); //画弧,度数以1/16为单位
rotate(度); //旋转多少度
translate(x, y); //平移