painter在控件上绘图无反应(eventFilter的使用)
1、为控件安装事件过滤器
ui->lblImage->installEventFilter(this);//安装事件过滤器
2、在头文件中添加绘制函数和事件过滤函数
bool eventFilter(QObject *obj, QEvent *event);//事件过滤 void labelPaint(QImage image);绘制函数
3、函数实现
bool TraceabilitySystem::eventFilter(QObject *obj, QEvent *event) { if(obj==ui->lblImage && event->type()==QEvent::Paint)//判断是否是lblImage控件,是否是绘制事件 { labelPaint(drawImage);//绘制 } return QWidget::eventFilter(obj,event); }
void TraceabilitySystem::labelPaint(QImage image) { QPainter pp(ui->lblImage); QImage res=image.scaled(ui->lblImage->size(),Qt::IgnoreAspectRatio);//拉伸图片 pp.begin(&res); pp.drawImage(0, 0, res); pp.end(); update();
4、效果如下
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算