自学qt之QPainter
来源:互联网 发布:长歌门成女捏脸数据 编辑:程序博客网 时间:2024/05/18 16:38
drawPoint() drawArc()
drawLine() drawChord()
drawPolyline()drawPie()
drawPoints()drawText()
drawLines()drawPixmap()
drawPolygon()drawPath()
drawRect()
drawRoundRect()
drawEllipse()
protected:
void painEvent(QPainEvent *);//继承下来的函数
void painEvent(QPointEvent *)
{
QPainter painter(this);//在哪里画
painter.drawRect(100,100,200,200);//左上角,宽度和高度
painter.drawLine(50,50,500,50);//起点和终点
painter.drawLine(QPoint(20,30),QPoint(20,400));
painter.setBrush(QBrush:(Qt::blue));//设置画刷
painter.setBrush(QBrush(Qt::white));
painter.drawRect(this->rect());//画背景
painter.setBrush(QBrush:(Qt::red));
painter.drawEllipse(Qpoint(200,400),100,70);//画椭圆
QPixmap pix(“dog.jpg”);
painter.drawPixmap(400,100,pix);
painter.drawText(400,420,”软件开发”);
QFont font;
font.setFamily(“黑体”);
font.setPointSize(22);
painter.setFont(font);
painter.drawText(400,420,”软件开发”);
painter.setPen(QPen(Qt::green));//一开始设置不是最后
}
enum shape{Line,Ellipse,Pie};shape drawShape;//枚举变量this->drawShape=Widget::line;painter.setRenderHint(Qpainter::Antialiasing,true);//反走样painter.setPen(QPen(Qt::red,20,QT::SolidLine));//实心线 默认方帽子painter.setPen(QPen(Qt::red,20,Qt::SolidLine,Qt::RoundCap));//加上圆帽子painter.setPen(QPen(Qt::red,20,Qt::SolidLine,Qt::SquareCap));//加上方帽子update();//切记这个函数 槽函数里面这个Qt::DashDotLine;//点划线painter.drawPie(80,80,400,240,60*16,270*16);//最后两个是角度,画饼 一定要乘16 MiterJoin 尖的连接的地方Qt::RoundJoin,//圆的连接地方 Qt::BevelJoin;//平的
painter.setBrush(QBrush(Qt::green,Qt::VerPattern));//垂直线做画刷 Qt::HorPattern;//横线 Qt::BDiagPattern;//后斜线 Qt::FDiagPattern;//前斜线 Qt::Den//各种线性渐变 QLinearGradient辐射渐变 QredialGradient锥形渐变 QConicalGradient纹理画刷
#ifndef RENDERLABEL_H#define RENDERLABEL_H#include <QLabel>clasee RenderLabel:public QLabel{ Q_OBJECT enum BrudhPattern{LinearGradient,RadialGradient,ConicalGradient,TexturePattern}; public: RenderLabel(QWidget *parent=0); void setBrushPattern(BrushPattern brushPattern ); protected: void painEvent(QPaintEvent *); protected: BrushPattern brushPattern;}RenderLabel::RenderLabel(QWidget *parent):QLabel(parent){}this->renderLabel=new RenderLabel(this);this->renderLabel->setGeometry(0,0,500,500);//定位在哪void RenderLabel::setBrushPattern(BrushPattern brushPattern){ this->brushPattern=brushPattern;}void RenderLabel::paintEvent(QPaintEvent *){ QLinearGradient linearGradient(10,10,400,200);//大小和范围 左上角 宽度和高度 linearGradient.setColorAt(0,Qt::red); linearGradient.setColorAt(0.3,Qt::blue); linearGradient.setColorAt(1,Qt::yellow); painter.setBrush(linearGradient);}painter.setBrush(QBrush(QPixmap(":/images/tt.jpg")));painter.drawEllipse(10,10,500,500);//图片当画刷
QPainter painter(this);painter.fillRect(rect(),Qt::white);//画背景
- 自学qt之QPainter
- Qt函数之QPainter::drawImage
- Qt学习:QPainter之填充
- Qt学习之路: QPainter
- Qt学习之路(24): QPainter
- Qt学习之路(25): QPainter(续)
- Qt学习之路(24): QPainter
- Qt学习之路(25): QPainter(续)
- Qt学习之路(24): QPainter
- Qt学习之路(24): QPainter
- Qt学习之路(25): QPainter(续)
- Qt学习:QPainter之反走样
- Qt学习:QPainter之渐变填充
- Qt学习之路(24): QPainter
- Qt学习之路(24): QPainter
- Qt学习之路(24): QPainter
- Qt学习之路(25): QPainter(续)
- QT之GUI学习笔记(十九)----QPainter
- LeetCode 516. Longest Palindromic Subsequence
- Android xmlns 的作用及其自定义
- 自定义注解
- Ubuntu:Ubuntu16将Launcher(启动栏/任务栏)移到屏幕下方
- 解决jdk1.8中发送邮件失败(handshake_failure)问题
- 自学qt之QPainter
- caffe-mnist数据识别loss accuracy曲线
- 关于weblogic.xml的配置
- OpenSSL RSA Key的生成和转换
- 【PHP】使用mysqli连接MySql数据库
- 一些解题过程中关于数据范围的细节
- oracle 执行计划
- DBUtils练习,增删改查,ResultSetHandler的9个结果处理器
- SpringBoot上传文件跟传统的SpringMVC的区别