- 开始画面
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