/****************** .h *********************/
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
protected:
void paintEvent(QPaintEvent *);
void mousePressEvent(QMouseEvent *);
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
/********** main.cpp **********/
#include <QtGui/QApplication>#include "widget.h"int main(int argc, char *argv[]){
QApplication a(argc, argv);Widget w;w.show();return a.exec();}
/********** .cpp **********/
#include "widget.h"#include "ui_widget.h"#include <QPixmap>#include <QBitmap>#include <Qpainter>Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget){
ui->setupUi(this);this->move(500,500);QPixmap pix;// 加载图片pix.load("d:/panda.png");// 设置窗口大小为图片大小resize(pix.size());// 为窗口设置遮罩setMask(pix.mask());}
Widget::~Widget(){
delete ui;}
void Widget::paintEvent(QPaintEvent *){
QPainter painter(this);// 从窗口左上角开始绘制图片painter.drawPixmap(0,0,QPixmap("d:/panda.png"));}
void Widget::mousePressEvent(QMouseEvent *){ // 关闭窗口// close();}