1. 程式人生 > 其它 >QT簡單繪圖

QT簡單繪圖

技術標籤: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(); }