首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python Qt GUI设计:QPainter、QPen、QBrush和QPixmap窗口绘图类(基础篇—17)

目录 1、QPainter绘图类 2、QPen绘图类 3、QBrush绘图类 4、QPixmap绘图类 ---- 本篇博文主要介绍如何实现在窗口中绘图,在 PyQt5中,一般可以通过QPainter、QPen...1、QPainter绘图类 QPainter类在QWidget(控件)上执行绘图操作,它是一个绘制工具,为大部分图形界面提供了高度优化的函数,使QPainter类可以绘制从简单的直线到复杂的饼图等。...画笔设置为红色,使用预定义的Qt.red颜色。每次调整窗口大小时,都会生成一个绘图事件。使用size()方法得到窗口的当前大小,在新的窗口中随机分布工作区中的点。...为了能更清晰地看清各线之间的差异,将颜色设置成黑色,宽度设置为2像素(px)。Qt.SolidLine是预定义的线条样式之一。...定义QBrush 对象,然后将QPainter对象的画刷设置成QBrush 对象,并通过调用drawRect()方法绘制矩形。

2.2K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Qt编写自定义控件9-导航按钮控件

    /选中状态图标 5:可设置显示边框线条/线条宽度/线条间隔/线条位置/线条颜色 6:可设置正常背景颜色/悬停背景颜色/选中背景颜色 7:可设置正常文字颜色/悬停文字颜色/选中文字颜色 8:可设置背景颜色为画刷颜色...* 5:可设置显示边框线条/线条宽度/线条间隔/线条位置/线条颜色 * 6:可设置正常背景颜色/悬停背景颜色/选中背景颜色 * 7:可设置正常文字颜色/悬停文字颜色/选中文字颜色 * 8:可设置背景颜色为画刷颜色...*painter); void drawText(QPainter *painter); void drawIcon(QPainter *painter); void drawLine...| QPainter::TextAntialiasing); //绘制背景 drawBg(&painter); //绘制文字 drawText(&painter);...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式

    2.6K30

    Qt开源作品14-导航按钮控件

    还可以在导航条前面加上图标等,就显得更加有特色。有了此控件,再也不用担心没有精美的导航了。总之这个控件在我的很多的项目中都在用,而且很多Qt界的朋友也在用,反响很热烈很好。...主要功能: 可设置文字的左侧+右侧+顶部+底部间隔 可设置文字对齐方式 可设置显示倒三角/倒三角边长/倒三角位置/倒三角颜色 可设置显示图标/图标间隔/图标尺寸/正常状态图标/悬停状态图标/选中状态图标...可设置显示边框线条/线条宽度/线条间隔/线条位置/线条颜色 可设置正常背景颜色/悬停背景颜色/选中背景颜色 可设置正常文字颜色/悬停文字颜色/选中文字颜色 可设置背景颜色为画刷颜色 二、代码思路 void...LinePosition_Bottom) { bgRect = QRect(0, 0, width, height - lineSpace); } //如果画刷存在则取画刷 QBrush...(QPainter *painter) { painter->save(); painter->setBrush(Qt::NoBrush); //根据当前状态选择对应颜色

    1.3K30

    【QT】绘图

    ,可以允许我们绘制各种图形 QPaintDevice 描述QPainter把图形画到哪个对象上 QPen 描述QPainter画出来的线 QBrush 描述QPainter填充一个区域 一般绘图API...QFont font("楷体",30); painter.setFont(font); //设置画笔颜色 painter.setPen(Qt::blue); //画文本 painter.drawText...、颜色、样式、画刷 画笔颜色可以在实例化画笔对象时进行设置,画笔的宽度是通过setWidth()方法进行设置,画笔的风格是通过setSytle()方法进行设置,设置画刷主要是通过setBrush()方法...(pen); //设置画刷,设置为青色(cyan) QBrush brush(Qt::cyan); //画刷风格 brush.setStyle(Qt::Dense1Pattern); //画家拿画刷 painter.setBrush...painter; //开始在画布上画画 painter.begin(&picture); //设置画笔颜色 painter.setPen(Qt::red); painter.drawEllipse

    6210

    Qt编写自定义控件30-颜色多态按钮

    一、前言 这个控件一开始打算用样式表来实现,经过初步的探索,后面发现还是不够智能以及不能完全满足需求,比如要在此控件设置多个角标,这个用QSS就很难实现,后面才慢慢研究用QPainter来绘制,我记得当时接到这个定制控件任务的时候是...*painter); void drawText(QPainter *painter); private: int borderRadius; //圆角半径...//绘制背景 drawBg(&painter); //绘制文字 drawText(&painter); } void ColorButton::drawBg(QPainter...if (colorMode == ColorMode_Normal) { if (isPressed) { painter->setBrush(QBrush...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式

    2K40

    Qt自定义控件之仪表盘的完整实现

    ::white); //设置渐变的颜色和路径比例 lg1.setColorAt(1, Qt::gray); //只是粗略的颜色,具体的可以参考RGB颜色查询对照表 painter->setBrush...(lg1); // 创建QBrush对象,把这个渐变对象传递进去: painter->setPen(Qt::NoPen); //边框线无色 painter->drawEllipse(-radius...painter->save(); painter->setPen(m_foreground); //m_startAngle是起始角度,m_endAngle是结束角度,m_scaleMajor在一个量程中分成的刻度数...= value; //update(); this->update(); // emit valueChanged(value); } 原理分析 实现原理 以实现下图的模拟表盘为例...表盘的实现是基于QT的QPainter类中的绘图方法,自定义实现一个QWidget控件。 将表盘分解析为3个组成部分。表盘的外形轮廓、指针和显示的当前速度的数值。

    2.2K10
    领券