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

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

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

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

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.5K30

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

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

1.2K30

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+嵌入式

1.9K40

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); } 原理分析 实现原理 以实现下图的模拟表盘例...表盘的实现是基于QTQPainter类中的绘图方法,自定义实现一个QWidget控件。 将表盘分解析3个组成部分。表盘的外形轮廓、指针和显示的当前速度的数值。

1.8K10

QTQT基本图形绘制

基本图形绘制 QPainter绘制基本图形 **注意:**QPainter画弧度所使用的角度值,是以1/16°单位的,画弧度的时候1°用16表示。...---- QPainterPath绘制简单图形 QPainterPathQPainter类提供一个存储容器,里面包含了所要绘制的内容的集合及绘制顺序,如长方形、多边形、曲线等各种任意图形。...当需要绘制此预先存储QPainterPath对象中的内容时,只需调用QPainter类的DrawPath()即可,如addRect()加入一个方形,addEllipse加入一个椭圆形,addText(...;若交点偶数则此点在图形的外部。...Qt::WindingFill填充规则:从图形中某一点画一条水平线到图形外,每个交点外边线方向可能向上、向下、方向相反的相互抵消,若结果不为0表示此点在图形内,若为0则图形外。

89930
领券