#QT常用 事件处理

鼠标事件

#include

statusBar()->addPermanentWidget (部件指针) ;状态栏添加永久部件

statusBar( )-> showMessage(QString);//状态栏显示信息

resize (400,200) ;//调整当前窗口得大小

QMouseEvent *e;//重写鼠标事件 传的参数参

e->x();获取鼠标x坐标

e->y();获取鼠标y坐标

e->button();//返回鼠标按下得是哪个键

Qt: :LeftButton;//鼠标左键

Qt: :MidButton;//鼠标中键

Qt: :Ri ghtButton;//鼠标右键

画家事件

setAutoFillBackground (bool);//小部件背景是否自动填充

size() .width() ;size() .height() ;//获取当前部件的宽和高

fill(Qt: :white) ;//控件填充颜色 白色

m_image. load(“tiger .png”) ;//图片对象调用加载 当前路径

#include //画笔类 需配合画家使用
在这里插入图片描述
画家画虚线(纵向) m_ step为int类型 是步长

painter .drawLine 画家画线在这里插入图片描述
画家画图片在这里插入图片描述
需重写绘图事件

事件过滤

在这里插入图片描述
控件加载图片构造函数
在这里插入图片描述
安装事件过滤之前需添加布局 ( 就是可以遮住其他控件)

m_ stateLabel->setAlignment(Qt: :ALignHCenter) ;//设置这个标签居中对齐 注事件和鼠标事件是两个类
在这里插入图片描述
在这里插入图片描述
重写事件过滤的效果

键盘事件

#include //键盘事件

在这里插入图片描述
重写键盘事件 Qt: :ControlModifier // ctrl键 Qt::ControlModifier

写完后需调用自己写的绘制方法就是上面画线和图片的方法 和 update();//触发窗口重绘

猜你喜欢

转载自blog.csdn.net/qq_45743563/article/details/107905676