将图片QImage显示在QWidget控件上

mainwindow.cpp

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
 
    //ui->showimg->setGeometry(0,500,500,500);
 
    bb = new showImage(this);//依赖于主窗口,也就是说传进来的参数this
    bb1 = new showImage(this);//同样的
    bb->setGeometry(0,0,500,500);//相对于主窗口坐标及大小
    bb1->setGeometry(500,0,500,500);
    bb->show();//显示
    bb1->show();
}
 
MainWindow::~MainWindow()
{
    delete ui;
    delete bb;
    delete bb1;
}
void MainWindow:: paintEvent(QPaintEvent *event)
{
    //QImage image;
    //image.load("bb.jpg");     //用QImage导入图片
    //QPainter draw(this);        //创建QPainter,将指针传入该设备
    //QRect rect(0,0,this->width(),this->height());  //创建绘图区域
    //draw.drawImage(rect,image);                    //绘图,drawImage有很多重载函数,可根据自己的需要调用相应函数
}
 
//show.h
 
#ifndef SHOW_H
#define SHOW_H
#include <QImage>
#include <QWidget>
#include <QPainter>
#include <QPaintEvent>
class showImage:public QWidget
{
public:
    showImage(QWidget *parent = 0);
    ~showImage();
    QImage show1;
    void paintEvent(QPaintEvent *e);
};
#endif // SHOW_H

 
//show.cpp
 
#include "show.h"
showImage::showImage(QWidget *parent):QWidget(parent)
{
    show1.load("C:\\Users\\zoule\\Desktop\\TestUnit\\hh.jpg");//文件路径
}
showImage::~showImage()
{
}
void showImage::paintEvent(QPaintEvent *e)
{
    QPainter pp(this);
    QRect Temp(0,0,this->width(),this->height());
    pp.drawImage(Temp,show1);
}

 
 
结果:
 

                
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Teleger

你的支持是我前进的方向

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值