概述
头文件
#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:
/*
*1.回调函数(所有的虚函数都是回调函数)
*2.此函数不需要用户调用,在刷新的时候自动调用
*
1.窗口显示的时候
*
2.最大化,最小化
*
3.窗口被遮挡,重新显示
*
4.用户强制刷新的时候
*
5.。。。
* 3.如果想使用画家类在窗口中画图,操作必须在paintEvent函数中完成
*/
void paintEvent(QPaintEvent*);
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
源文件
#include "widget.h"
#include "ui_widget.h"
#include <QPainter>
#include <QFont>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::paintEvent(QPaintEvent *)
{
//创建画家类对象
QPainter p(this);
//指定绘图设备
//创建新画笔
QPen pen;
pen.setColor(/*Qt::green*/QColor(0,255,0));
pen.setWidth(10);
//像素
pen.setStyle(Qt::DotLine);
//闭合区域使用画刷,填充
QBrush brush(Qt::blue);
//QBrush brush(QPixmap::(":/tupian/tupian.jpg");---填充图片
p.setBrush(brush);
//将新画笔设置给画家类
p.setPen(pen);
//画背景图
p.drawPixmap(0,0,QPixmap(":/tupian/tupian.jpg")); //绘制图片
//画直线
p.drawLine(QPoint(100,100),QPoint(300,500));
//画椭圆
p.drawEllipse(QPoint(200,200),100,50);
//画矩形
p.drawRect(400,200,200,200);
//写字
QFont font("华文彩云",48,75,true);
p.setFont(font);
p.drawText(100,100,"嘿嘿嘿");
//窗口的最大宽度和高度
int width=this->width();
int height=this->height();
}
最后
以上就是天真季节为你收集整理的QPainter 绘图的全部内容,希望文章能够帮你解决QPainter 绘图所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复