• 3736阅读
  • 3回复

[提问]利用QPainter的DrawPixmap将一张图片加载到QLabel [复制链接]

上一主题 下一主题
离线twodiamond
 

只看楼主 倒序阅读 楼主  发表于: 2018-12-14
大家好:
虽然使用setpixmap可以将图片loadQLabel上,但无法控制图片在QLabel的位置,Qpainter的drawpixmap可以指定位置,但当对一个QLabel使用QPainter时,不起作用:
QPixmap pix;
pix.load("myPic.jpg");
QPainter painter(ui->label);
painter.drawPixmap(100,200,pix.width(),pix.height(),pix);

图片没有显示在label上???
离线dbzhang800

只看该作者 1楼 发表于: 2018-12-14
要在QWidget及其派生类中绘制东西,必须在它的 paintEvent 中
离线twodiamond

只看该作者 2楼 发表于: 2018-12-15
回 dbzhang800 的帖子
dbzhang800:要在QWidget及其派生类中绘制东西,必须在它的 paintEvent 中 (2018-12-14 20:47) 

多谢版主
再请教一下:
使用QLabel来load图片,与用QPainter比较,哪个效率更高些?

谢谢!
离线liudianwu

只看该作者 3楼 发表于: 2018-12-15
其实也可以不用重写paintevent来实现绘制的,安装事件过滤器拦截label的paint消息,绘制即可。
答案在这里https://blog.csdn.net/sunshine_505/article/details/83507462
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
快速回复
限100 字节
 
上一个 下一个