1.QPainter使用save()函数来保存QPainter的状态,并且用restore()函数来使他们回退.

void MainWindow::paintEvent(QPaintEvent *event)
{
QPainter painter(this); //this为绘图设备,即表明在该部件上进行绘 QPen pen; // creates a default pen
pen.setStyle(Qt::DashDotLine);
pen.setWidth();
pen.setBrush(Qt::green);
pen.setCapStyle(Qt::RoundCap);
pen.setJoinStyle(Qt::RoundJoin);
painter.setPen(pen); painter.save();//保存之前的样式
painter.drawLine(,,,);
pen.setBrush(Qt::red);
pen.setWidth();
painter.setPen(pen);
painter.drawLine(,,,); painter.restore();//使用保存之前的样式
painter.drawLine(,,,);
}

2.

this->update(); //重新执行paint这个函数

QPainter的更多相关文章

  1. Qt开发中的实用笔记一--xml,Qpainter,Delegate:

    因为开发环境不能联网,开发中用到有用的知识就记在word稳定中,不知不觉就记载了几十页,为避免笔记丢失,现在就一点点忘博客上搬,方便日后回顾! ---------------------------- ...

  2. QPainter类的一些问题

    QPainter painter1(this);//新建类 painter1.setRenderHint(QPainter::Antialiasing,true);//设置反锯齿 painter1.s ...

  3. Pyqt 设置 背景颜色和背景图片、 QPalette 调色板 与QPainter 画板区别 、 不规则图片

    设置 背景颜色和背景图片 首先设置autoFillBackground属性为真然后定义一个QPalette对象设置QPalette对象的背景属性(颜色或图片)最后设置QWidget对象的Palette ...

  4. QPainter类学习

    详细描述: QPainter类提供了许多高度优化的函数去做大部分的GUI绘制工作.它可以画从简单的线到复杂的形状.通常情况下,QPainter的使用是在widget当中的painter事件使用.记得在 ...

  5. QPainter就是手里的作图工具,只需要三洋东西:笔(颜色,宽度,样式),字体(写字),刷子(大面积作画),这里有三个典型例子

    设置笔和字体以后,就可以写字了: void MainWindow::paintEvent(QPaintEvent *event) { Q_UNUSED(event); QPainter painter ...

  6. Qt 设置背景图片3种方法(QPalette可以做无数的事情,一旦控件指定了调色板,就要乖乖听它的话;QPainter当场绘制当然也没有问题,还有就是QSS)

    方法1. setStylSheet{"QDialog{background-image:url()"}}  //使用styleSheet 这种方法的好处是继承它的dialog都会自 ...

  7. Qt学习之路(24): QPainter(改写paintEvent)

    多些大家对我的支持啊!有朋友也提出,前面的几节有关event的教程缺少例子.因为event比较难做例子,也就没有去写,只是把大概写了一下.今天带来的是新的部分,有关Qt的2D绘图.这部分不像前面的内容 ...

  8. 文本导出到pdf文件(使用QPrinter和QPainter和QTextDocument)

    程序中数据导出是经常有的需求,今天学习把文本导出到pdf文件.主要是用QPrinter,QPainter TextEditToPdf::TextEditToPdf(QWidget *parent, Q ...

  9. 聊天气泡的绘制(圆角矩形+三角形+黑色边框,关键学会QPainter的draw函数就行了),注意每个QLabel都有自己的独立坐标

    头文件: #ifndef GLABEL_H #define GLABEL_H #include <QLabel> #include <QPainter> #include &l ...

  10. (十一)QPainter绘图, QPixmap,QImage,QPicture,QBitmap

    #include "widget.h" #include "ui_widget.h" #include <QPainter> #include &l ...

随机推荐

  1. golang命令行参数

    os.Args获取命令行参数 os.Args是一个srting的切片,用来存储所有的命令行参数 package main import ( "fmt" "os" ...

  2. spring boot 2.0.3+spring cloud (Finchley)3、声明式调用Feign

    Feign受Retrofix.JAXRS-2.0和WebSocket影响,采用了声明式API接口的风格,将Java Http客户端绑定到他的内部.Feign的首要目标是将Java Http客户端调用过 ...

  3. HDU - 4625 JZPTREE(第二类斯特林数+树DP)

    https://vjudge.net/problem/HDU-4625 题意 给出一颗树,边权为1,对于每个结点u,求sigma(dist(u,v)^k). 分析 贴个官方题解 n^k并不好转移,于是 ...

  4. bzoj千题计划323:bzoj1951: [Sdoi2010]古代猪文(Lucas+CRT+欧拉定理)

    https://www.lydsy.com/JudgeOnline/problem.php?id=1951 先欧拉降幂 然后模数质因数分解 分别计算组合数的结果,中国剩余定理合并 #include&l ...

  5. NET Core Kestrel部署HTTPS使用SSL证书

    ASP.NET Core配置 Kestrel部署HTTPS.现在大部分网站已经部署HTTPS,大家对于安全越来越重视. 今天简单介绍一下ASP.NET Core 部署HTTPS,直接通过配置Kestr ...

  6. MySQL Connector 编程

    MySQL Connector 是MySQL数据库客户端编程的接口, 它提供了通过网络访问数据库的接口, 这些功能在动态链接库(.dll, .so)或者静态对象库(.lib, .a)中实现. 使用时必 ...

  7. Javaweb学习笔记——(十四)—————— 服务器端验证注册登入表单项目

    项目:https://download.csdn.net/download/qq_40223688/10463436 项目 功能: *注册 *登录--------------------------- ...

  8. select样式设计

    举例: select { color: blue; /*去掉边框*/ border: none; outline: none; /*去掉箭头*/ -webkit-appearance: none; / ...

  9. ubuntu18.04下安装mysql后无法用mysqlworkbench访问

    问题描述:我在ubuntu18.04下执行以下命令安装mysql时遇到了mysqlworkbench无法连接root用户的问题.ubuntu18.04下默认安装mysql时是5.7版本的,但是5.7版 ...

  10. KeyUp 和KeyDown 、KeyPress之间的区别

    keydown:用户在键盘上按下某按键是发生.一直按着某按键则会不断触发(opera浏览器除外). keypress:用户按下一个按键,并产生一个字符时发生(也就是类似shift.alt.ctrl之类 ...