Qt4: Show an image in your widget – 在Qt里面显示图像

很多人问,怎么快捷的在Qt里面显示图像。
 
个人以为,在Qt里面你的widget上显示图像的最简单方法就是用QImage和QPaint。方法如下。
 
假设我们现在已经有了一个QImage的object。怎么有的,这里不管。
 
QImage *pCurImage;
首先,我们要定义两个区域,一个是widget里面的显示区域,我们把它叫做DisplayDestArea。另一个是image的区域,我们叫它 DisplaySourceArea。在qt4里用QRectF来定义这两个区域。为什么?喜欢。
 
//显示区域为左上角坐标(130, 220),区域宽度640高度480
QRectF DisplayDestArea = QRectF(130.0, 220.0, 640.0, 480.0); //显示全副图像,你当然也可以显示图像的一部分 QRectF DisplaySourceArea = QRectF(0, 0, pCurImage->width(), pCurImage->height());
 
然后呢?显示啊。
首先,定义一个QPainter
 
QPainter newPainter(this);
 
然后呢?
newPainter.drawImage(DisplayDestArea, *pCurImage, DisplaySourceArea);
 
编译,通过,看看效果。。。
没有?!
对,不奇怪,如果你没有把painter部分放到paintEvent()里面的话。所以,我们应该要做的另一件事就是:重载paintEvent函数。
首先,在类的声明里面说明要重载的函数:
 
void paintEvent(QPaintEvent *event);
 
然后,当然就是在合适位置放置代码:
1 void PreviewWindow::paintEvent(QPaintEvent *event)
2 {
3   QRectF DisplayDestArea = QRectF(130.0, 220.0, 640.0, 480.0);
4   QRectF DisplaySourceArea = QRectF(0, 0, pCurImage->width(), pCurImage->height());
5   QPainter newPainter(this);
6   newPainter.drawImage(DisplayDestArea, *pCurImage, DisplaySourceArea);
7 }
现在呢?呵呵,搞定。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值