Qt 画圆弧(圆环)

【1】重写paintEvent函数

cpp 复制代码
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
protected:
    void paintEvent(QPaintEvent *); //重写

【2】使用drawArc函数

cpp 复制代码
painter->drawArc(left,top,width,height, start*16, delta*16);

left:圆外切矩形的"左边"x坐标

top:圆外切矩形的"上边"y坐标

width:圆外切矩形的宽度

height:圆外切矩形的高度

start:圆环起始角度(不是弧度)

delta:圆环从起始角度开始延伸的角度变化量(不是弧度)

【3】画笔设置

cpp 复制代码
    QLinearGradient gradient(0,y, 0,y+r);
    gradient.setColorAt(0,QColor(250,209,109));
    gradient.setColorAt(1,QColor(228,74,56));
    QPen thickPen(gradient,linewith);
    painter->setPen(thickPen);

【4】源代码链接(圆环进度条)

https://download.csdn.net/download/notfindjob/90455556

相关推荐
液态不合群几秒前
如何提升 C# 应用中的性能
开发语言·算法·c#
布局呆星2 分钟前
面向对象中的封装-继承-多态
开发语言·python
柏林以东_2 分钟前
异常的分类与用法
java·开发语言
嘿嘿潶黑黑6 分钟前
绘图中 QRect 与 QRectF 的不同
qt
专注API从业者8 分钟前
淘宝商品 API 接口架构解析:从请求到详情数据返回的完整链路
java·大数据·开发语言·数据库·架构
木千17 分钟前
Qt全屏显示,在顶部工具栏的最右边显示关闭按钮
开发语言·qt
-凌凌漆-22 分钟前
【java】java中函数加与不加abstract 的区别
java·开发语言
你撅嘴真丑22 分钟前
STL练习
开发语言·c++·算法
Ulyanov26 分钟前
Impress.js深度技术解析:架构基础与结构化设计
开发语言·前端·javascript
bybitq27 分钟前
cmake构建c++项目时,vscode/cursor无法识别头文件路径,导致报错,解决方案
开发语言·c++·vscode