QT簡單繪圖
阿新 • • 發佈:2021-01-07
技術標籤:Qt
文章為本人在黑馬網路視訊的學習筆記“https://www.bilibili.com/video/BV1XW411x7NU?p=37”
widget.h檔案
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QPixmap>
#include <QPainter>
#include <QPen>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public :
explicit Widget(QWidget *parent = 0);
~Widget();
private:
Ui::Widget *ui;
protected:
void paintEvent(QPaintEvent *event);
};
#endif // WIDGET_H
#include "widget.h"
#include "ui_widget.h"
#include <QColor>
Widget::Widget(QWidget *parent) :
QWidget(parent) ,
ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::paintEvent(QPaintEvent *event)
QPainter p;
p.begin(this);
//背景圖操作
//p.drawPixmap(0,0,width(),height(),QPixmap("../Image/1.bmp"));
p.drawPixmap(rect(),QPixmap("../Image/1.bmp" ));
//定義畫筆
QPen pen;
pen.setWidth(5);//設定線寬
pen.setColor(QColor(0,0,255));//設定顏色
pen.setStyle(Qt::DashLine);//設定風格
//畫直線
p.setPen(pen);
p.drawLine(50,50,150,50);
p.drawLine(50,50,50,150);
p.drawLine(50,150,150,150);
p.drawLine(150,50,150,150);
QBrush brush;//定義畫刷
brush.setColor(Qt::red);
brush.setStyle(Qt::Dense1Pattern);//注意不設定樣式不填充
p.setBrush(brush);
//畫矩形
p.drawRect(200,200,50,200);
//畫圓
p.drawEllipse(QPoint(160,160),50,50);
p.end();
}