28.开始画面和异形窗口

  • 开始画面
     1 #include "widget.h"
     2 #include <QApplication>
     3 #include <QSplashScreen>
     4 
     5 int main(int argc, char *argv[])
     6 {
     7     QApplication a(argc, argv);
     8     QPixmap pix("16.png");
     9     QSplashScreen splash(pix);
    10     splash.show();
    11 
    12     a.processEvents();
    13     Widget w;
    14     w.show();
    15 
    16     return a.exec();
    17 }
  • 异形窗口
  • widget.h
     1 #ifndef WIDGET_H
     2 #define WIDGET_H
     3 
     4 #include <QWidget>
     5 
     6 namespace Ui {
     7 class Widget;
     8 }
     9 
    10 class Widget : public QWidget
    11 {
    12     Q_OBJECT
    13 
    14 public:
    15     explicit Widget(QWidget *parent = 0);
    16     ~Widget();
    17     void paintEvent(QPaintEvent *);
    18 
    19 private:
    20     Ui::Widget *ui;
    21 };
    22 
    23 #endif // WIDGET_H
  • widget.cpp
     1 #include "widget.h"
     2 #include "ui_widget.h"
     3 #include <QPixmap>
     4 #include <QBitmap>
     5 #include <QPainter>
     6 
     7 Widget::Widget(QWidget *parent) :
     8     QWidget(parent),
     9     ui(new Ui::Widget)
    10 {
    11    // ui->setupUi(this);
    12     QPixmap pix;
    13     pix.load("16.png",0,Qt::AvoidDither | Qt::ThresholdAlphaDither|Qt::ThresholdDither);
    14     resize(pix.size());
    15     setMask(QBitmap(pix.mask()));//初始化
    16 }
    17 
    18 Widget::~Widget()
    19 {
    20     delete ui;
    21 }
    22 
    //创建绘画事件 23 void Widget::paintEvent(QPaintEvent *) 24 { 25 QPainter painter(this); 26 painter.drawPixmap(0,0,QPixmap("16.png")); 27 }
原文地址:https://www.cnblogs.com/xiaochi/p/8763501.html